以下是一个简单的C语言程序,可以实现为指定的文本文件创建一个副本文件的命令:
```c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
FILE *fp1, *fp2;
int ch;
if (argc != 3) {
printf("Usage: %s source_file dest_file\n", argv[0]);
exit(EXIT_FAILURE);
}
fp1 = fopen(argv[1], "r");
if (fp1 == NULL) {
perror("fopen");
exit(EXIT_FAILURE);
}
fp2 = fopen(argv[2], "w");
if (fp2 == NULL) {
perror("fopen");
fclose(fp1);
exit(EXIT_FAILURE);
}
while ((ch = getc(fp1)) != EOF) {
putc(ch, fp2);
}
fclose(fp1);
fclose(fp2);
printf("File \"%s\" copied to \"%s\".\n", argv[1], argv[2]);
return 0;
}
```
在上述代码中,我们首先读取命令行参数 `argc` 和 `argv[]`,判断输入参数是否有误。然后使用 `fopen()` 函数打开源文件和目标文件,并使用 `getc()` 和 `putc()` 函数分别逐个字符地读取和写入文件内容。最后,关闭文件并输出复制成功的信息。
例如,运行如下命令:
```
./a.out D:\a.txt C:\b.txt
```
将会在C盘根目录下创建文件“b.txt”,并将D盘下的文件“a.txt”内容复制到“b.txt”中。
需要注意的是,在实际应用中还需要考虑更多的边界情况和错误处理。例如,需要检查文件是否成功打开和关闭,以及文件读写是否出错等。
温馨提示:答案为网友推荐,仅供参考