C语言文件操作常用函数

1.fopen函数用来打开一个文件
    对磁盘文件的操作必须“先打开,后读写,再关闭”,“打开”文件的含义:以某种方式从磁盘上查找指定的文件或创建一个新文件。
    头文件:#include <stdio.h>
    函数原型:FILE * fopen(const char * path, const char * mode)
    函数形参:path --- 包含欲打开的文件路径及文件名
              mode --- 代表文件流形态
              mode 有下列几种形态字符串:
              r    --- 以只读方式打开文件,该文件必须存在
              r+ --- 以读/写方式打开文件,该文件必须存在
              w --- 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件
              w+ --- 打开可读写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件
              a --- 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留
              a+ --- 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留
    函数功能:用指针的模式打开一个文件
    函数返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回 NULL,并把错误代码存在 errno 中。
    
2.fread函数以二进制形式读取文件中的数据
    头文件:#include <stdio.h>
    函数原型:int fread(void *buffer, unsigned size, unsigned count, FILE *fp)
    函数形参:buffer --- 这是一个void型指针,指出要将读入数据存放在其中的存储区首地址
              size --- 指出一个数据块的字节数,即一个数据块的大小尺寸
              count --- 指出一次读入多少个数据块(size)
              fp --- 这是个文件指针,指出要从其中读出数据的文件
    函数返回值:正常返回:实际读取数据块的个数,即count。异常返回:如果文件中剩下的数据块个数少于参数中count指出的个数,或者发生了错误,返回0值。此时可以用feof()和ferror()来判定到底出现了什么
    
3.fwrite函数以二进制形式写数据到文件中去
    头文件:#include <stdio.h>
    函数原型:int fwrite(void *buffer, unsigned size, unsigned count, FILE *fp)
    函数形参:buffer --- 这是一个void型指针,指出要将其中数据输出到文件的缓冲区首地址
              size --- 指出一个数据块的字节数,即一个数据块的大小尺寸
              count --- 一次输出多少个数据块(size)
              fp --- 这是个文件指针,指出要从其中读出数据的文件
    函数返回值:正常返回:实际输出数据块的个数,即count。异常返回:返回0值,表示输出结束或发生了错误。
    
4.ferror函数检查文件读/写出错
    函数原型:int ferror(FILE *fp)
    函数形参:已打开的文件指针
  函数功能:检查由fp指定的文件在读写时是否出错。
    函数返回值:0:表示无错误。1:表示出错。

5.fseek函数用来设定文件当前读写位置
    头文件:#include <stdlo.h>
    函数原型:int fseek(FILE * stream, long offset, int whence)
    函数形参:stream --- 已经打开的文件指针
              offset --- 偏移量,表示要从起始点开始移动的距离,可以为正(前移),为负(后移),为0(保持不动)
              whence --- 模式,该参数确定起始点
              表示模式的明示标量有:
              SEEK_SET --- 文件开始处
              SEEK_CUT --- 文件当前位置
              SEEK_END --- 文件末尾
    函数功能:将文件读写位置指针移动到指定位置
    函数返回值:如果一切正常,fseek函数的返回值为0;如果出现错误(例如试图移动的距离超出了文件的范围),其返回值是-1。

6.ftell函数用来获取文件读写指针的当前位置
    头文件:#include <stdio.h>
    函数原型:long ftell(FILE * stream)
    函数形参:已经打开的文件指针
    函数功能:获取文件读写指针的当前位置
    函数返回值:成功则返回当前的读写位置,失败返回 -1。对于二进制文件,则返回从文件开头到结尾的字节数。对于文本文件,返回的数值可能没有实际意义,但仍然可以用来保存当前的读写位置,供 fseek() 函数使用。

* 在随机方式存取文件时,由于文件位置频繁的前后移动,程序不容易确定文件的当前位置。使用fseek函数后再调用函数ftell()就能非常容易地确定文件的当前位置。ftell() 经常和 fseek() 一起使用。
   
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言文件操作函数大全 2.文件操作函数: (1)文件打开函数fopen fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen("文件名","使用文件方式"); 其,“文件指针名”必须是被说明为FILE 类型的指针变量,“文件名”是被打开文件文件名。 “使用文件方式”是指文件的类型和操作要求。“文件名”是字符串常量或字符串数组。例如: FILE *fp; fp=fopen("file b","r"); 其意义是在当前目录下打开文件file b, 只允许进行“读”操作,并使fp指向该文件。 又如: FILE *fp fp=("c:\\file_a',"rb") 其意义是打开C驱动器磁盘的根目录下的文件file_a, 这是一个二进制文件,只允许按二进制方式进行读操作。两个反斜线“\\ ”的第一个表示转义字符,第二个表示根目录。"\\"对于打开磁盘下的文件,要注意两个双斜线的正确应用,在表示绝对路径时,每一级目录都要用"\\", 例如:fp=fopen("d:\\study\\file_b","r+"); ####使用文件的方式共有12种,下面给出了它们的符号和意义。 文件使用方式 意 义 “rt” 只读打开一个文本文件,只允许读数据 “wt” 只写打开或建立一个文本文件,只允许写数据 “at” 追加打开一个文本文件,并在文件末尾写数据 “rb” 只读打开一个二进制文件,只允许读数据 “wb” 只写打开或建立一个二进制文件,只允许写数据 “ab” 追加打开一个二进制文件,并在文件末尾写数据 “rt+” 读写打开一个文本文件,允许读和写 “wt+” 读写打开或建立一个文本文件,允许读写 “at+” 读写打开一个文本文件,允许读,或在文件末追加数据 “rb+” 读写打开一个二进制文件,允许读和写 “wb+” 读写打开或建立一个二进制文件,允许读和写 “ab+” 读写打开一个二进制文件,允许读,或在文件末追加数据 对于文件使用方式有以下几点说明:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值