【C语言】实现文件拷贝功能(文件,主函数参数)

xiaoxiao2021-02-28  146

/* *实现文件拷贝 * */ #include <stdio.h> int main(int argc, char **argv) {//第二个参数是2级指针,用户用户在控制台输入神秘,就存在这里什么,下面的程序可以像使用数组一样使用这里的内容 int size = 0;//用于判断是否读取结束的 char buf[100] = {0};//字符类型只有1字节,可以将各个类型的拿出来 FILE *p_src = NULL, *p_dest = NULL; if(argc < 3) {//检查一下命令有几部分,是否够3部分,既./a.out 源地址 目的地址 printf("命令错误!\n"); return 0; } //打开第一个文件,即已存在的文件 fopen(*(argv + 1), "rb");//不知道是文本还是二进制,所以统一用二进制 if(!p_src) { return 0; } //打开第二个文件,不存在的文件 p_dest = fopen(*(argv + 2), "wb");//以二进制打开,不能用a方式 if(!p_dest) { fclose(p_src);//当打开目标文件出错时,原始文件已经打开了,这里会直接结束程序,所以应该结束原始文件 p_src = NULL; return 0; } while(1) { size = fread(buf, sizeof(char), 100, p_src);//一次存储100字节整数倍,导致原目大小不一致,所以在存的时候用size fwrite(buf, sizeof(char), size, p_dest); if(!size) { break; } } fclose(p_src); p_src = NULL; fclose(p_dest); p_dest = NULL; return 0; }
转载请注明原文地址: https://www.6miu.com/read-38846.html

最新回复(0)