#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
FILE *sourceFile, *targetFile;
char sourceFileName[100], targetFileName[100];
char ch;
printf("请输入要备份的文件名:");
fgets(sourceFileName, sizeof(sourceFileName), stdin);
// 删除源文件名字符串中的换行符
sourceFileName[strcspn(sourceFileName, "\n")] = 0;
sourceFile = fopen(sourceFileName, "r");
if (sourceFile == NULL) {
printf("无法打开文件 %s\n", sourceFileName);
exit(1);
}
printf("请输入备份文件名:");
fgets(targetFileName, sizeof(targetFileName), stdin);
// 删除目标文件名字符串中的换行符
targetFileName[strcspn(targetFileName, "\n")] = 0;
targetFile = fopen(targetFileName, "w");
if (targetFile == NULL) {
printf("无法创建文件 %s\n", targetFileName);
fclose(sourceFile);
exit(1);
}
while ((ch = fgetc(sourceFile)) != EOF) {
fputc(ch, targetFile);
}
printf("文件备份成功!\n");
fclose(sourceFile);
fclose(targetFile);
return 0;
}