C语言文件读写操作
2014-04-27 13:29
330 查看
c语言的文件读写分为很多种,详细操作可参考 http://blog.csdn.net/jiji262/article/details/1835971
由于近期频繁程序生成数据进行读写操作,便于查找方便,将常用代码记录下来。
由于近期频繁程序生成数据进行读写操作,便于查找方便,将常用代码记录下来。
1. 格式化文件读写,经常使用在需要保存格式化的数据(比如图像矩阵数据)以及查找表操作等场合。
示例代码如下:int OperateFile() { // ***********C语言写CSV文件操作测试**************** char filename[255]; sprintf(filename,"d:/writefile.csv"); FILE *wfile; if ((wfile=fopen(filename,"w+"))==NULL) { printf("can not new the file\n"); exit(0); } //把512*512大小数据存储为CSV文件,以矩阵形式排列 for (int rows =0; rows < 512; rows++) { for (int cols = 0;cols < 512; cols ++) { fprintf(wfile,"%d,",rows + cols); } fprintf(wfile,"\n");//换行 } fclose(wfile); //********************************************** //***************读文件操作测试***************** char filename2[255]; sprintf(filename2,"d:/writefile.csv"); //读取文件的数组 int *readdata; readdata=(int *)malloc(sizeof(int)*512*512); //定义文件指针 FILE *rfile; if ((rfile = fopen(filename2,"r"))==NULL) { printf("can not open the file"); exit(0); } //把512*512大小数据存CSV文件读取出来,以一维数组排列 for (int num =0; num < 512*512; num++) { fscanf(rfile,"%d,",&readdata[num]); //cout<<readdata[num]<<endl; } fclose(rfile); free(readdata); //************************************************* return 0; }
2.块数据读写操作,下面以一个数据结构体的信息读写为例。
int OperateBlockFile() { //定义一个数据结构,包含姓名,年龄,身高 struct friends { char name[255]; int age; int height; }fri; //****************将块数据写入txt文件**************** //定义文件指针 FILE *savefile; char filename[255]="d:/block.txt"; if ((savefile=fopen(filename,"wb"))==NULL) { printf("can not open the file\n"); exit(0); } //输入两组朋友信息 for (int frinum = 0; frinum<2; frinum++) { printf("请输入朋友%d的姓名,年龄,身高信息\n",frinum); scanf("%s %d %d",fri.name,&fri.age,&fri.height); //输入信息 fwrite(&fri,sizeof(fri),1,savefile); // 成块写入文件 } fclose(savefile); //************************************************* //****************从txt文件读取块信息************** //定义读文件指针 FILE *readfile; friends fri2; if((readfile=fopen("d:/block.txt","rb"))==NULL) { /*重新以二进制只写打开文件*/ printf("cannot open file"); exit(0); } printf("output from file d:/block.txt \n"); for (int i=0;i<2;i++) { fread(&fri2,sizeof(fri),1,readfile); /* 从文件成块读*/ printf("%s %d %d \n",fri2.name,fri2.age,fri2.height); /* 显示到屏幕*/ } fclose(readfile); //********************************************** return 0; }
相关文章推荐
- C语言文件操作之----文件的读写
- C语言文件读写操作中缓冲区问题和setbuf函数详解
- java语言中对文件基本的读写操作
- C语言文件操作之----文件的读写
- C语言文件读写操作中缓冲区问题和setbuf函数详解
- C语言文件操作之----文件的读写
- C语言文件读写操作总结
- C语言文件读写操作总结
- java16.语言进阶------本地文件操作---文件的简单读写
- C语言文件读写操作总结
- C语言文件读写操作总结
- c语言文件的读写操作
- C语言文件读写操作
- C语言文件读写操作
- c语言文件读写示例(c语言文件操作)
- C语言文件读写操作总结
- C语言文件读写操作
- 趣学 C 语言(七)—— 文件读写操作
- C语言文件的读写操作,每次读取1K,然后写入另外一个文件
- c语言文件读写操作