下面的程序,与 Unix 的 cp 命令类似,需要两个文件名作为参数,将第一个文件的内容复制到第二个文件。
该程序涉及到main()函数传参的问题,请查看:C语言mian()函数详解
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char * argv[]){
FILE *fin, *fout;
char c;
if (argc!=3){
printf("Usage: %s filein fileout\n", argv[0]);
exit(0);
}
if ((fin=fopen(argv[1],"r"))==NULL){
perror("fopen filein");
exit(0);
}
if ((fout=fopen(argv[2],"w"))==NULL){
perror("fopen fileout");
exit(0);
}
while ((c=getc(fin))!=EOF)
putc(c,fout);
fclose(fin);
fclose(fout);
return 0;
}
该程序构建后,需要通过命令行工具(cmd.exe)运行。
例如,我编译后的程序在 E:\cDemo\Debug\ 文件,需要操作的两个文件位于 D 盘根目录,分别为 input.txt 和 output.txt,output.txt 为空,input.txt 的内容为:
需要在命令行进行如下操作:
打开 output.txt,发现与 input.txt 的内容一样。