C语言必会15个文件函数

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

功能:以指定格式打开文件

参数解析
filename文件名
mode以指定格式打开文件
返回值:FILE指针,打开失败返回NULL

mode的参数:

文件使用方法含义如果指定文件不存在
r只读以读模式打开已经存在文本文件
w只写以写模式打开文本文件,
a追加以写模式打开文件,向现有文本文件尾添加数据
rb只读为了输入数据,打开一个二进制文件
wb只写为了输出数据,打开一个二进制文件
ab追加向一个二进制文件尾添加数据
r+读写为了读和写,打开一个文本文件
w+读写为了读和写
a+读写打开一个文件,在文件尾进行读写

int fclose ( FILE * stream );

**功能:**关闭文件

返回值:如果流成功关闭,则返回零值。失败时,返回EOF(-1)。

int feof ( FILE * stream );

**功能:**检测文件指针是否到达文件末端

参数解析
stream文件指针
**返回值 :**检测文件指针到文件末端时,会返回非零值,未到文件末端时返回0

void exit (int status);

功能: 关闭所有打开的文件并结束程序

status解析
0或者 EXIT_SUCCESS表示程序结束正常
1或者EXIT_FAILURE表示结束程序失败

int fseek ( FILE * stream, long int offset, int origin );

**功能:**重新定位文件指针的位置
**例如:**fseek(fp, 0L, SEEK_END); //定位在文件末尾(以文件末尾为基准偏移0个单位)文件起始点模式

参数解析
stream文件指针
offset偏移量
origin定位指针的位置

origin参数

origin偏移量的起始点
SEEK_SET文件开始处
SEEK_CUR当前位置
SEEK_END文件末尾

**返回值:如果成功,该函数返回零。否则,它返回非零值。如果发生读取或写入错误,则会设置错误指示符( ferror )。

由于这些函数较为简单这里做了一个表格

功能函数原型作用返回值
字符输入函数int fgetc( FILE * stream)返回文件指针所指向的字符,然后文件指针向后偏移成功时,返回读取的字符(提升为int值)。
字符输出函数int fputc ( int character, FILE * stream );将这个字符写入到文件指针所指向的位置,然后文件指针向后偏移成功时,返回写入的字符。如果发生写入错误,则返回EOF并设置错误指示符(ferror)。
文本行输入函数char * fgets ( char * str, int num, FILE * stream );从文件指针开始向str字符串中拷贝num个字符,并返回这段字符。(如遇到文件尾则立刻停止)成功时,该函数返回str。
文本行输出函数int fputs ( const char * str, FILE * stream );向文件中写入一个str字符串成功写入文件指针向后偏移写入失败返回EOF 成功时,返回一个非负值。出错时,该函数返回EOF并设置错误指示符( ferror )。
格式化输入函数int fscanf(FILE *stream, const char *format, …)从文件指针开始按照指定格式给变量赋值,然后文件指针向后偏移成功时,该函数返回成功填充的参数列表的项目数。
格式化输出函数int fprintf(FILE *stream, const char *format, …)向文件中写入指定格式的数据成功时,返回写入的字符总数

size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );

功能: 二进制输入
从流中 读取count 个元素的数组,每个元素的大小为size字节,并将它们存储在ptr指定的内存块中。 流的位置指示器提前读取的总字节数。 如果成功,读取的总字节数为(size*count)。

参数解析
ptr这是指向带有最小尺寸 size*count字节的内存块的指针。
size这是要读取的每个元素的大小,以字节为单位。
count这是元素的个数,每个元素的大小为 size 字节。
stream文件指针。
**返回值:**返回成功读取的元素总数。

size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream );

功能: 二进制输出
从流中 读取count 个元素的数组,每个元素的大小为size字节,并将它们存储在ptr指定的内存块中。 流的位置指示器提前读取的总字节数。 如果成功,读取的总字节数为(size*count)。

参数解析
ptr这是指向带有最小尺寸 size*count字节的内存块的指针。
size这是要读取的每个元素的大小,以字节为单位。
count这是元素的个数,每个元素的大小为 size 字节。
stream文件指针。
**返回值:**返回成功写入的元素总数。

void rewind ( FILE * stream );

**功能:**文件指针回到文件开始处

long int ftell ( FILE * stream );

功能: 获得文件指针当前位置相对于文件首的字节数
返回值: 该函数返回位置标识符的当前值。如果发生错误,则返回 -1L,全局变量 errno 被设置为一个正值。

  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林夕07

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值