文章目录
一、文件的打开和关闭
1.fopen()
FILE * fopen ( const char * filename, const char * mode );
filename:文件名(包含路径)
mode:打开模式
常见打开模式
“r”:只读,输入数据,打开的文件必须已存在
“w”:只写,写入数据,打开的文件已存在则删除,自动新建一个空文件
“a”:追加,向文本文件尾增加数据,如果文件不存在,自动新建一个空文件
打开成功:返回一个FILE*的指针
打开失败:返回NULL
2.fclose()
int fclose ( FILE * stream );
stream要关闭的文件的指针
关闭成功,返回0
关闭失败,返回EOF
关闭一个文件之后,把该指针置为NULL
二、文件的顺序读写

1.fgetc()、fputc()
int fgetc ( FILE * stream );
int fputc ( int character, FILE * stream );
2.fgets()、fputs()
char * fgets ( char * str, int num, FILE * stream );
int fputs ( const char * str, FILE * stream );
3.fscanf()、fprintf()
int fscanf ( FILE * stream, const char * format, ... );
int fprintf ( FILE * stream, const char * format, ... );
4.fread()、fwrite()
size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );
size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream );
三、文件的随机读写
1.fseek()
int fseek ( FILE * stream, long int offset, int origin );
根据文件指针的位置和偏移量来定位文件指针。
stream:文件指针
offset:偏移量
origin:起始位置
SEEK_SET 文件开始
SEEK_CUR 当前位置
SEEK_END 文件尾部
2.ftell()
long int ftell ( FILE * stream );
返回文件指针相对于起始位置的偏移量
3.rewind()
void rewind ( FILE * stream );
让文件指针的位置回到文件的起始位置
四、文件读取结束的判定( feof() )
牢记:在文件读取过程中,不能用feof函数的返回值直接来判断文件的是否结束。
int feof ( FILE * stream );
当文件读取结束的时候,判断是读取结束的原因是否是:遇到文件尾结束。
1. 文本文件读取是否结束,判断返回值是否为 EOF ( fgetc ),或者 NULL ( fgets )
例如:
fgetc 判断是否为 EOF .
fgets 判断返回值是否为 NULL .
2. 二进制文件的读取结束判断,判断返回值是否小于实际要读的个数。
例如:
fread判断返回值是否小于实际要读的个数。
1万+

被折叠的 条评论
为什么被折叠?



