fopen();
作用:以指定方式打开文件
FILE *fopen(
const char *path;//待打开的文件路径
const char *mode;//打开方式,有如下:
//r:以只读方式打开
//w:只写文件,若文件存在则将内容清零重新写入;若文件不存在则建立该文件
//w+:可读写文件,规则同上
//a:以附加的方式打开只写的文件,若文件存在,写入的数据会被加到文件结尾duo文件不存在则建立该文件
//a+:以附加方式打开可读写的文件,规则同上
//wb:打开或新建一个二进制文件,只允许写数据
//wb+:打开或新建一个二进制文件,只允许读和写
//ab:追加打开一个二进制文件,并在文件末尾写数据
//ab+:读写打开一个二进制文件,允许读,或在文件末尾追加数据
)//打开成功则返回指向该流的文件指针;失败则返回NULL,并吧错误代码存在error中
fread():
size_t fread(
void *buffer;//存放读的数据
size_t size;//读的结构的字节数,例如:size(int)
size_t count;//最多读的数据个数
FILE ×stream //待读文件
)//返回值随着调用格式的不同而不同
//调用格式为:fread(buffer,sizeof(buffer),1,fp);
//读取成功时,当读取的数据量正好是sizeof(buffer)个byte时,返回1(即count)否则返回0
//调用格式为:fread(buffer,1,sizeof(buffer),fp);
//读取成功时,返回实际读取的数据个数(单位为Byte)
fwrite():
作用:将内存中的一块数据写入到本地文本
size_t fwrite(
const void *buffer;//要写的数据内容
size_t size;//同上
size_t count;//写入数据的最大数量
FILE *stream //待写入的文件
)//返回当前写入的数据量,即count
//注意:写完数据后要调用fclose()关闭流,不关闭流的话,每次读或写数据后,文件指针都会指向下一个待写或者待读位置的指针。
举例:将一个浮点型数组的中的元素写至FILE *fp所指文件上
float data[10];
if(fwrite(&data,size(float),10,fp) !=10)
cout<<"fwrite error!"<<endl;
fprintf与fwrite的区别:
fprintf(fp, “%d”, buffer):将数据按指定格式写入文件
fwrite(&buffer, sizeof(int), 1, fp):以二进制方式写入文件