赞
踩
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // 检查命令行参数的数量,确保包括源文件路径和目标文件路径 if (argc != 3) { printf("Usage: %s sourceFile destFile", argv[0]); exit(1); } FILE *srcFp; // 源文件指针 FILE *desFp; // 目标文件指针 char ch; // 用于存储读取的字符 // 打开源文件以供读取 if ((srcFp = fopen(argv[1], "r")) == NULL) { perror("file: "); exit(1); } // 创建或打开目标文件以供写入 if ((desFp = fopen(argv[2], "w")) == NULL) { perror("file: "); exit(1); } // 逐字符从源文件读取,并写入到目标文件中 while((ch = fgetc(srcFp)) != EOF) { fputc(ch, desFp); } // 关闭文件流 fclose(srcFp); fclose(desFp); return 0; }
#include <stdio.h>
:包含标准输入输出库,以便使用文件操作相关的函数。#include <stdlib.h>
:包含标准库,以便使用 exit()
函数终止程序。int main(int argc, char *argv[])
:程序的主函数,argc
是命令行参数的数量,argv[]
是命令行参数的数组。if (argc != 3) { printf("Usage: %s sourceFile destFile", argv[0]); exit(1); }
:检查命令行参数的数量,确保包括源文件路径和目标文件路径,如果参数数量不正确,打印程序的用法说明并退出程序。FILE *srcFp;
和 FILE *desFp;
:定义了两个文件指针,分别用于指向源文件和目标文件。char ch;
:定义了一个字符变量,用于临时存储从源文件读取的字符。if ((srcFp = fopen(argv[1], "r")) == NULL) { perror("file: "); exit(1); }
:打开源文件以供读取,如果打开失败,则打印错误消息并退出程序。if ((desFp = fopen(argv[2], "w")) == NULL) { perror("file: "); exit(1); }
:打开目标文件以供写入,如果打开失败,则打印错误消息并退出程序。while((ch = fgetc(srcFp)) != EOF) { fputc(ch, desFp); }
:逐字符从源文件读取,并将每个字符写入目标文件,直到源文件的末尾。fclose(srcFp);
和 fclose(desFp);
:关闭源文件和目标文件,释放资源。return 0;
:返回0表示程序成功执行完毕。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。