您的位置:首页 > 其它

基础IO(c标准IO接口库)

2021-04-07 22:33 89 查看

基础IO(c标准IO接口库)

fopen,fread,fwrite,fseek,fclose

接口实现方式:

(1)FILE* fopen(char* filename,char* mode);

filename:文件名
mode:文件打开方式——只读、只写、读写、追加写;

  • r :只读——若文件不存在,则打开失败;若存在,直接打开;
  • r+ :读写——若文件不存在,打开失败,若存在,直接打开;
  • w :只写——若文件不存在,则创建新文件,若存在,则清空文件原有内容打开文件;
  • w+ :读写——若文件不存在,则创建新文件,若存在,则清空文件原有内容打开文件;
  • a :追加写——每次写入文件数据时总是写入文件末尾;若文件不存在,则创建新文件;
  • a+ :追加读写——每次写入文件数据时总是写入文件末尾;若文件不存在,则创建新文;
  • b :fopen打开文件默认是文本文件,如果使用b,则表示进行二进制操作;**
(2)size_t fwrite(char* data,size_t block_size,size_t block_num,FILE* fp);

data : 要向文件中写入的数据;
block_size : 块大小;
block_num : 块个数;
fp : fopen返回的文件操作句柄(文件流指针);
返回值:成功返回实际操作个数,失败返回0;

block_size为strlen(字符串)的话,block_size为1,就能很好的确定字符串大小;

(3)size_fread(char* buf,size_t block_size,size_t block_num,FILE* fp);

返回值:实际操作的块个数(完整的块个数)
注意:返回0时,可能是失败,可能是读到了文件末尾;
例如:文件大小为10,块大小为100,块个数为1,则实际操作的块个数为0,返回值为0,表示读到了文件末尾;

(4)int fseek(FILE* fp,int offset,int whence)

fp:文件流指针;
offset:相对于指定位置(whence位置)的偏移量;
whence:SEEK_SET 起始位置;SEEK_CUR 当前位置;SEEK_END末尾位置;
返回值:成功返回0,失败返回-1;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: