编写Linux C程序,把一个文件的内容复制到另一个文件中,即实现简单的copy功能。要求:程序输入的第一个参数是源文件,第二个参数是目标文件
时间: 2024-03-22 15:38:10 浏览: 131
可以使用 Linux 系统中提供的文件操作函数来实现文件的复制功能。以下是一个简单的 C 语言程序示例,可以实现将一个文件的内容复制到另一个文件中:
```
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
FILE *source_fp, *dest_fp;
char ch;
// 检查参数个数是否正确
if (argc != 3) {
fprintf(stderr, "Usage: %s source_file dest_file\n", argv[0]);
exit(EXIT_FAILURE);
}
// 打开源文件
if ((source_fp = fopen(argv[1], "rb")) == NULL) {
fprintf(stderr, "Can't open %s\n", argv[1]);
exit(EXIT_FAILURE);
}
// 创建目标文件
if ((dest_fp = fopen(argv[2], "wb")) == NULL) {
fprintf(stderr, "Can't create %s\n", argv[2]);
exit(EXIT_FAILURE);
}
// 逐个字符读取源文件并写入目标文件
while ((ch = getc(source_fp)) != EOF) {
putc(ch, dest_fp);
}
// 关闭文件
fclose(source_fp);
fclose(dest_fp);
return 0;
}
```
该程序中使用了 fopen 函数来打开源文件和目标文件,使用 getc 函数读取源文件中的字符,并使用 putc 函数将字符写入目标文件中。最后,程序需要使用 fclose 函数关闭文件。在程序中还使用了命令行参数 argc 和 argv 来获取源文件和目标文件的文件名。程序会检查命令行参数个数是否正确,并对打开文件和创建文件失败的情况做了错误处理。
阅读全文