c语言加上注释请编写程序实现文件的复制。即将源文件复制到目的文件,两个文件名均由命令行给出,源文件名在前。
时间: 2024-05-09 12:20:54 浏览: 162
```c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
// argc表示命令行参数的个数,argv是一个字符串数组,存储了命令行参数的值
if (argc < 3) {
printf("Usage: %s source_file destination_file\n", argv[0]);
// argv[0]表示程序本身的名称
exit(1);
}
FILE *source_file, *destination_file;
char buffer[1024];
size_t bytes_read;
source_file = fopen(argv[1], "rb");
// 打开源文件,以二进制读取方式打开
if (source_file == NULL) {
printf("Error: cannot open source file.\n");
exit(1);
}
destination_file = fopen(argv[2], "wb");
// 打开目的文件,以二进制写入方式打开
if (destination_file == NULL) {
printf("Error: cannot create destination file.\n");
exit(1);
}
while ((bytes_read = fread(buffer, 1, sizeof(buffer), source_file)) > 0) {
fwrite(buffer, 1, bytes_read, destination_file);
// 从源文件读取数据,写入到目的文件
}
fclose(source_file);
// 关闭源文件
fclose(destination_file);
// 关闭目的文件
printf("File copied successfully.\n");
return 0;
}
```
阅读全文