c语言freadfwrite
发布时间: 2024-10-08 02:01:15
⑴ c语言文件操作fwrite和fread
fread是C语言标准为中的一个函数。它从一个文件流中读数据,最多读取count个元素,每个元素size字节,如果调用成功返回实际读取到的元素个数,如果不成功或读到文件末尾返回 0。
fwrite是C语言标准库中的一个函数,指向文件写入一个数据块。示例如下:
//读取一个完整的文件
#include<stdio.h>
#include<stdlib.h>
intmain()
{
FILE*pFile;//文件指针
longlSize;//用于文件长度
char*buffer;//文件缓冲区指针
size_tresult;//返回值是读取的内容数量
pFile=fopen("myfile.bin","rb");
if(pFile==NULL){fputs("Fileerror",stderr);exit(1);}//如果文件错误,退出1
//获得文件大小
fseek(pFile,0,SEEK_END);//指针移到文件末位
lSize=ftell(pFile);//获得文件长度
rewind(pFile);//函数rewind()把文件指针移到由stream(流)指定的开始处,同时清除和流相关的错误和EOF标记
//为整个文件分配内存缓冲区
buffer=(char*)malloc(sizeof(char)*lSize);//分配缓冲区,按前面的lSize
if(buffer==NULL){fputs("Memoryerror",stderr);exit(2);}//内存分配错误,退出2
//该文件复制到缓冲区
result=fread(buffer,1,lSize,pFile);//返回值是读取的内容数量
if(result!=lSize){fputs("Readingerror",stderr);exit(3);}//返回值如果不和文件大小,读错误
//terminate//文件终止
fclose(pFile);
free(buffer);
return0;
}
综合使用的例子。
#include<stdio.h>
intmain()
{
FILE*pFile;
floatbuffer[]={2.0,3.0,8.0};
pFile=fopen("myfile.bin","wb");//打开文件写操作
fwrite(buffer,1,sizeof(buffer),pFile);//把浮点数组写到文件myfile.bin
fclose(pFile);//关闭文件
floatread[3];
pFile=fopen("myfile.bin","rb");//重新打开文件读操作
fread(read,1,sizeof(read),pFile);//从文件中读数据
printf("%f %f %f ",read[0],read[1],read[2]);
fclose(pFile);//关闭文件
return0;
}
⑵ C语言文件读写结构体里面的数据怎样存到磁盘文件上
1、首先打开VC++6.0。
热点内容