C语言对文件的读取和写入操作代码
发布日期:2021-09-14 23:17:56 浏览次数:5 分类:技术文章

本文共 1579 字,大约阅读时间需要 5 分钟。

#include 
#define INint rwFile(IN char * orgnFile, IN char * outFile){
FILE *fpIN; FILE *fpOUT; fpIN = fopen(orgnFile,"rb"); // 打开原始的文件 // 获取文件大小 fseek(fpIN,0L,SEEK_END); // 这一句是将文件指针fp移动到文件数据的最后一位上 int len = ftell(fpIN); // 获取当前文件指针到文件开头的长度大小 fseek(fpIN,0,0); // 将文件指针fp移动到文件开头的地方 printf("%d\n", len); unsigned char in[len]; fread(in,1,len,fpIN); // 读取原始文件,将文件内容存到 in 中 fclose(fpIN); fpOUT = fopen(outFile,"w+"); // 打开要写入的文件 fwrite(in,sizeof(in),1,fpOUT); // 将上面读取的 in 写入到要写入的文件中 fclose(fpOUT); return 0;}int main(){
char *origin_file = "origin.txt"; char *out_file = "out.txt"; rwFile(origin_file, out_file); return 0;}

上述代码遇到文件比较大的可能就无能为力了

**

对大文件读写:

**

#include 
#include
#define IN#define OUT// 获取文件大小int FileSize(IN char *file){
FILE *fil; fil = fopen(file,"rb"); fseek(fil,0L,SEEK_END); int filesize = ftell(fil); fseek(fil,0,0); return filesize;}// 读取文件int ReadFileData(IN char *fileName, OUT char *filedata){
FILE *fpIN; int fileSizes = FileSize(fileName); fpIN = fopen(fileName,"rb"); fread(filedata,1,fileSizes,fpIN); fclose(fpIN);}// 写入文件int WriteToFile(char *filedata, int size, OUT char *outFileName){
FILE *fpOUT; fpOUT = fopen(outFileName,"w+"); fwrite(filedata,1,size,fpOUT); fclose(fpOUT);}int main(){
char *origin_file = "file.mp4"; int orgfilesize = FileSize(origin_file); // 获取文件的大小 char *file_data=malloc(orgfilesize); // 分配文件大小的内存 ReadFileData(origin_file, file_data); // 读取文件 char *outFile = "outfile.mp4"; WriteToFile(file_data,orgfilesize,outFile); // 写出文件 return 0;}

转载地址:https://blog.csdn.net/weixin_43451928/article/details/108715338 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:刷视频课的脚本
下一篇:将Python代码打包成.exe可执行程序

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年03月29日 01时19分12秒