编写一个程序,把一个文件的内容复制到另一个文件上,即实现简单的copy功能。要求:只用open(),read(),write()和close()系统调用,程序的第一个参数是源文件,第二个参数是目的文件。 用C语言编写
时间: 2024-02-18 11:59:44 浏览: 571
实现copy功能
5星 · 资源好评率100%
好的,以下是你需要的 C 语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
if (argc != 3) {
printf("Usage: %s source_file destination_file\n", argv[0]);
exit(1);
}
// 打开源文件和目标文件
FILE *src_file = fopen(argv[1], "rb");
FILE *dst_file = fopen(argv[2], "wb");
if (src_file == NULL || dst_file == NULL) {
printf("Failed to open file\n");
exit(1);
}
// 读取源文件内容并将其写入目标文件
char buffer[1024];
size_t n;
while ((n = fread(buffer, 1, sizeof(buffer), src_file)) > 0) {
fwrite(buffer, 1, n, dst_file);
}
// 关闭文件
fclose(src_file);
fclose(dst_file);
return 0;
}
```
在命令行中编译该程序时,可以使用以下命令:
```
gcc mycopy.c -o mycopy
```
在命令行中执行该程序时,第一个参数是源文件的路径,第二个参数是目标文件的路径。例如:
```
./mycopy source_file.txt destination_file.txt
```
该程序将会读取 `source_file.txt` 文件中的内容,并将其写入 `destination_file.txt` 文件中。
阅读全文