1.fopen():文件打开操作
头文件:stdio.h
函数定义:FILE *fopen(char *pname,char *mode)
函数说明:pname是文件名,mode是打开文件的方式
文件打开方式 | 含义 | 如果该文件不存在 |
---|---|---|
“r”(只读) | 为了输入数据,打开一个已经存在的文件 | 报错 |
“w”(只写) | 为了输出数据,打开一个文本文件 | 建立新文件 |
“a”(追加) | 向文本文件尾添加数据 | 报错 |
“r+”(读写) | 为了读和写,打开一个文本文件 | 报错 |
“w+”(读写) | 为了读和写,建立一个新的文本文件 | 建立新文件 |
“a+”(读写) | 为了读和写,打开一个文本文件 | 报错 |
凡是xb形式或者xb+形式,则其为二进制文件操作,其他同,如"rb",“rb+”
用w+的方式打开一个文件,会清空文件的原始内容,重新写入数据
- 正常返回:被打开文件的文件指针
- 异常返回:NULL,表示打开操作不成功
打开文件的作用:
- 分配给打开文件的一个FILE类型的文件结构体变量,并将有关信息填入文件结构体变量
- 开辟一个缓冲区
- 调用操作系统提供的打开文件或建立新文件的功能,打开或建立指定文件
2.fclose():文件关闭
函数定义:int fclose(FILE *fp);(fp是一个已经打开的文件指针)
- 正常返回:0
- 异常返回:EOF,表示文件在关闭时发生了错误
3.fgetc():读取一个字符,作为返回值返回
函数定义:int fgetc(FILE *fp)
- 正常返回:返回读取字符的代码
- 异常返回:返回EOF。例如从“w”文件读取一个字符,则会发生错误返回EOF
4.fputc():写一个字符到文件中
函数定义:int fputc(int ch,FILE* fp)
(ch是整型变量,要写到文件的字符,fp是文件指针,要写入的文件)
- 正常返回:要写入的字符代码
- 异常返回:返回EOF
5.fgets():从文件中读取一个字符串
函数定义:char *fgets(char *str,int n,FILE *fp)
函数说明:由fp指出的文件中读取n-1个字符,并把他们存放到有str指出的字符数组中,最后加上一个由字符串结束符’\0’
参数说明:str是接收字符串的内存地址,数组名或者指针,n是要读取的字符的个数,fp是文件指针,要读取的文件
- 正常返回:字符串的内存首地址,即str的值
- 异常返回:返回一个NULL值,此时应当用feof()或者ferror()判断是读取到了文件尾还是发生了错误
6.fputs():写入字符串到文件中去
函数定义:int fputs(char *str,FILE *fp)
函数说明:str是要写的字符串,不包括最后的’\0’,fp是文件指针
- 正常返回:写入到文件的字符个数,即长度
- 异常返回:返回一个NULL值,此时应当用feof()或者ferror()函数来判别是读取到了文件尾还是发生了错误。
7.feof():判断文件内部指针是否到了末尾
函数定义:int feof ( FILE * fp );
函数说明:fp是文件指针
- 正常返回:到了末尾返回非零值
- 异常返回:没到末尾返回零值
8.ferror():判断文件操作是否出错
函数定义:int ferror ( FILE *fp );
函数说明:fp是文件指针
- 正常返回:出错了就返回非零值
- 异常返回:没出错返回零值