c语言学习笔记(标准文件io)

文件有asii文件(文本文件)和二进制文件。
标准文件io带缓存,写满缓冲区后写向文件数据区。
文件的申明
typedef struct
{
short level;//缓冲区满空程度
unsigned flag;//文件状态标志
char fd;//文件描述符
unsigned char *buffer;//数据缓冲区位置
unsigned char *curp;//指针当前指向
unsigned istemp;//临时文件指示器
short token;//有效性检查
}FILE;

文件打开fopen

FILE *fopen(const char *path, const char *mode);
path 文件名
mode “r”(“rt”)只读,”w”只写(不存在创建),”a”追加,”rb”,”wb”,”ab”,
 “r+”(“rt+”),”w+”,”a+”,”rb+”二进制读写,”wb+”,”ab+”

关闭文件fclose

int fclose(FILE *stream);
成功返回0,错误返回EOF(-1);

读写字符fgetc,fputc

int fgetc(FILE *stream);//从文件读取一个字符
int fputc(int c, FILE *stream);//输出一个字符到文件
错误返回EOF
成功返回字符
这里写图片描述

读写字符串fgets,fputs

char *fgets(char *s, int size, FILE *stream);//读取size或一行字符串
int fputs(const char *s, FILE *stream);//字符串写到文件
这里写图片描述

格式化读写fscanf,fprintf

int fscanf(FILE *stream, const char *format, …);//从文件格式化读取
int fprintf(FILE *stream, const char *format, …);//格式化写入
读取完毕返回EOF
注:文件指针在参数列表开始,其他几个在最后
这里写图片描述

二进制读写fread,fwrite

/二进制读取/
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
/二进制写入/
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
注:结束判断需要用feof()函数
这里写图片描述

随机读写fseek,ftell

int fseek(FILE *stream, long offset, int whence);
offset:正数往后移,负数往前移
whence:文件开始位置 SEEK_SET
文件当前位置 SEEK_CUR
文件末尾位置 SEEK_END
long ftell(FILE *stream);//获取当前位置
这里写图片描述

循环读取和结束判断函数feof

int feof(FILE *stream);
未结束返回0
这里写图片描述
(最后多出来的不知道什么鬼)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值