当然可以,这里是使用C语言实现文件复制功能的代码示例:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void copy_file(const char *file_path) {
// 打开源文件
FILE *src_file = fopen(file_path, "r");
if (src_file == NULL) {
fprintf(stderr, "无法打开文件 %s\n", file_path);
return;
}
// 创建目标文件名
char dest_file_path[256];
snprintf(dest_file_path, sizeof(dest_file_path), "%s-副本.txt", file_path);
// 打开目标文件
FILE *dest_file = fopen(dest_file_path, "w");
if (dest_file == NULL) {
fclose(src_file);
fprintf(stderr, "无法创建文件 %s\n", dest_file_path);
return;
}
// 复制文件内容
char buffer[1024];
size_t n;
while ((n = fread(buffer, 1, sizeof(buffer), src_file)) > 0) {
fwrite(buffer, 1, n, dest_file);
}
// 关闭文件
fclose(src_file);
fclose(dest_file);
printf("文件复制成功: %s\n", dest_file_path);
}
int main() {
char file_path[256];
printf("请输入文件名 (文件路径): ");
scanf("%255s", file_path);
copy_file(file_path);
return 0;
}
在这个示例中:
1. `copy_file`函数负责读取源文件内容并复制到目标文件。
2. `snprintf`用于生成目标文件名,目标文件名是在源文件名后面加上"-副本.txt"后缀。
3. `fread`和`fwrite`用来读取和写入文件内容。
运行程序时输入文件名(文件路径),程序会创建一个以"-副本.txt"结尾的新文件,并将源文件的内容复制进去。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |