文件编程练习 程序1 根据程序提示从键盘输入一个已存在的文本文件的完整文件名,再输入一个新文本文件的完整文件名,然后将已存在的文本文件中的内容全部复制到新文本文件中,利用文本编辑软件,通过查看文件内容验证程序执行结果。 源程序: #include #include #define MAXLEN 80 main() { FILE *fpSrc = NULL; FILE *fpDst = NULL; char ch; char srcFilename[MAXLEN]; /* 源文件名 */ char dstFilename[MAXLEN]; /* 目标文件名 */ printf("Input source filename:"); scanf("%s", srcFilename); /*输入源文件名*/ if ((fpSrc = fopen(srcFilename,"r")) == NULL) /*只读方式打开源文件*/ { printf("can't open file %s!\n", srcFilename); exit(0); } printf("Input destination filename:"); scanf("%s", dstFilename); /*输入目标文件名*/ if ((fpDst = fopen(dstFilename,"w")) == NULL) /*只写方式打开目标文件*/ { printf("can't open file %s!\n", dstFilename); 第2 章 上机实验指导 ·137· exit(0); } /*文件复制*/ while ((ch = fgetc(fpSrc)) != EOF) { if (fputc(ch, fpDst) == EOF) { printf("Copy failed!"); exit(0); } } printf("Copy succeed.\n"); fclose(fpSrc); /*关闭源文件*/ fclose(fpDst); /*关闭目的文件*/ } 程序 2 模拟 DOS 命令下的 COPY命令,在 DOS 状态下输入命令行,以实现将一个已存在的文本文件中的内容全部复制到新文本文件中,利用文本编辑软件查看文件内容,验证程序执行结果。 源程序: /*源文件名:mycopy.c*/ #include #include int CopyFile(const char *srcName, const char *dstName); main(int argc, char *argv[]) { char ch; if (argc != 3) { printf("too few parameters!\n"); C 语言大学实用教程学习指导 ·138· exit(0); } if (CopyFile(argv[1], argv[2])) /*文件复制*/ { printf("Copy succeed.\n"); } else { perror("Copy failed"); } } /* 函数功能:把 srcName 文件内容复制到 dstName 函数入口参数:文件路径 函数返回值:非 0 值表示复制成功,否则表示出错 */ int CopyFile(const char *srcName, const char *dstName) { FILE *fpSrc = NULL...