C语言实现任意大小文件的复制
来源:互联网 发布:python for循环 编辑:程序博客网 时间:2024/06/08 17:58
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <malloc.h>void file_copy(char *srcFile,char *desFile);int main(int argc,char* argv[]){file_copy(argv[1],argv[2]);return 0;}//可以复制任意大小的文件 void file_copy(char *srcFile,char *desFile){int i = 0;char *buff;unsigned int fsize = 0;FILE *fp_before_cp;FILE *fp_after_cp;fp_before_cp = fopen(srcFile,"r+"); //打开已有文件if(NULL == fp_before_cp){//没有文件 退出进程perror("open file ");exit(0);}while(getc(fp_before_cp) != EOF)//计算文件里面的字符个数 此时指针偏移值末尾fsize++;buff = (char *)malloc(fsize * sizeof(char));//为缓冲区分配内存if(NULL == buff){perror("malloc ");exit(0);}rewind(fp_before_cp);//此时文件指针已经偏移到文件尾 要复位//fgets(buff,fsize+1,fp_before_cp);//读取文本内容到缓冲区(这个不行 遇到第一个换行后面内容全部消失)for(i=0;i<fsize;i++){//读取文本内容到缓冲区*(buff+i) = getc(fp_before_cp);}fclose(fp_before_cp);//关闭源文件printf("file size : %d bytes\n",fsize);printf("file content : \n%s\n",buff);fp_after_cp = fopen(desFile,"w+");//创建一个目标文件 把缓冲区内容复制到该文件if(NULL == fp_after_cp){perror("open file ");exit(0);}fputs(buff,fp_after_cp);fclose(fp_after_cp);//关闭文件free(buff);//释放缓冲区buff = NULL;}
阅读全文
0 0
- C语言实现任意大小文件的复制
- 用动态内存读入任意大小的文件(c语言)
- 文件复制的C语言实现
- 【C语言】C语言实现文件内容的复制
- 【C语言】C语言实现文件内容的复制
- C语言实现文件复制
- 文件复制 c语言实现
- 文件复制C语言实现
- C语言实现文件复制
- c语言中实现文件间的复制
- Linux下C语言实现文件复制
- C语言实现文件复制或者拼接
- linux下C语言实现文件复制
- C 语言 文件复制
- C语言文件复制
- C语言 如何得到文件的大小
- C语言快速获取文件的大小
- 获得文件的大小(c语言)
- 两数组的交
- js栈内存和堆内存的区别
- 算法导论--线性时间排序
- spring jack 使用自定义的objectMapper。或者在xml配置objectMapper参数
- py-faster-rcnn详解(4)——anchor_target_layer.py接口说明
- C语言实现任意大小文件的复制
- ODBC,OLEDB,DAO,ADO大杂烩
- 如何用 MTR 诊断网络问题?(上)
- 用逐浪字库,做最美设计!
- mysql5.7 系统学习 第一章 数据库的基本操作
- 关于tomcat中文乱码问题,为什么要先转换为ISO-8859-1
- Redefinition of ‘image’和 Control reaches end of non-void function
- 这样学习C语言最有效(高级技巧)——共勉
- Jackson异常情况处理