C语言下的文件操作语句

C语言下的文件操作函数(打开,关闭,读写,文件的定位,文件出错的检测)

   

函数名:fopen

原型:FILE *fopen(const char *path, const char *mode)

功能:打开文件流

参数:
path 要打开的文件
mode 打开模式,取值如下。
r   以只读方式打开文件。如果打开成功,则返回的文件指针指向文件流的开头。
r+  以读写方式打开文件。如果打开成功,则返回的文件指针指向文件流的开头。
w   以只写方式打开文件。如果文件存在,则打开文件的同时,清空原文件内容;如果文件不存在,则建立该文件。返回的文件指针都指向文件流的开头。
w+  以读写方式打开文件。如果文件存在,则打开文件的同时,清空原文件内容;如果文件不存在,则建立该文件。返回的文件指针都指向文件流的开头。
a   以追加的方式打开文件。如果文件不存在,则建立该文件。如果文件存在,则原文件内容不受破坏。返回的文件指针都指向文件流的开头,但当进行第一次写操作时,指针会首先自动移动到文件流结尾。
a+  以读追加的方式打开文件。如果文件不存在,则建立该文件。如果文件存在,则原文件内容不受破坏。返回的文件指针都指向文件流的开头,但当进行第一次写操作时,指针会首先自动移动到文件流结尾。

返回值:
成功:文件指针。
失败:NULL。失败原因被写在errno全局变量里。

函数名:fclose

原型:int *fclose(FILE *fp)

功能:将缓冲区中的数据写入文件,然后关闭文件。

参数:
fp    该函数操作的文件的指针

返回值:
成功:0。
失败:EOF。失败原因被写在errno全局变量里。


函数名:fseek

原型:int fseek(FILE *fp, long offset, int whence)

功能:移动文件读写位置

参数:
fp      所操作的文件指针
offset  相对于whence的偏移量,单位为字节。
whence  移动起点。取值范围是SEEK_SET(0,文件开头),SEEK_CUR(1,当前位置),SEEK_END(2,文件末尾)

返回值:
成功:0。
失败:-1。失败原因被写在errno全局变量里。


函数名:ftell

原型:long ftell(FILE *fp)

功能:得到文件的读写位置。

参数:
fp:所操作文件

返回值:
成功:读写位置,相对于文件开头的偏移字节量
失败:-1。失败原因被写在errno全局变量里。


函数名:rewind

原型:void rewind(FILE *fp)

功能:将读写位置定位到文件开头。该函数相当于
     (void)fseek(fp, 0L, SEEK_SET)

参数:
fp    所操作文件的指针

返回值:无


函数名:fgetpos

原型:int fgetpos(FILE *fp, fpos_t *pos)

功能:取得读写位置。与ftell功能类似。

参数:
fp    所操作文件的指针
pos   取得的读写位置将存在这里,其值是相对于文件开头的偏移字节量。

返回值:
成功:0。
失败:-1。失败原因被写在errno全局变量里


函数名:fsetpos

原型:int fsetpos(FILE *fp, fpos_t *pos)

功能:移动读写位置。与fseek功能类似。

参数:
fp    所操作文件的指针
pos   目标位置。该值是相对于文件开头的字节偏移量。

返回值:
成功:0
失败:-1。失败原因被写在errno全局变量里。


函数名:fgets

原型:char *fgets(char *str, int size, FILE *fp)

功能:从文件中连续读取多个字符。结束读取的条件有三:
     1 遇到换行符,且换行符作为最后一个被读取的字符
     2 遇到文件结束符,且文件结束符作为最后一个被读取得字符
     3 已经读取了(size - 1)个字符
     结束时在被读进str中的最后一个字符后加字符串结束符,文件内的读取位置自动移动到下一个字符处

参数:
str    从文件中读出的字符存到这里
size   要读取的字符串长度为(size - 1)
fp     所操作的文件指针

返回值:
成功:str的值
失败:NULL


函数名:fputs

原型:int fputs(const char *str, FILE *fp)

功能:向文件中写入字符串,但字符串末尾的字符串结束符被忽略。并将文件内的写位置移动到刚刚被写入字符的下一个位置。

参数:
str   要写入文件的字符串
fp    所操作的文件指针

返回值:
成功:非负数
失败:EOF


函数名:fread

原型:size_t fread(void *ptr, size_t size, size_t count, FILE *fp)

功能:从文件中读取字节流,存到ptr指示的缓冲区中,并将文件中的读取位置移动到最后一次被读取的字节流的后面。

参数:
ptr    被读出的字节存到它所指向的缓冲区中
size   一次读取的字节流大小
count  读取次数
fp     所操作的文件指针

返回值:
字节流被成功读取的次数,不大于count


函数名:fwrite

原型:size_t fwrite(const char *ptr, size_t size, size_t count, FILE *fp)

功能:向文件中写入字节流,并将文件中的写位置移动到最后一次被写入的字节流后面

参数:
ptr   要被写入的字节流所在缓冲区地址
size  一次写入的字节流大小
count 写入次数
fp    所操作的文件指针

返回值:
字节流被成功写入次数

 

转载于:https://www.cnblogs.com/hao02171990/archive/2013/04/07/3006341.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值