fgets、gets区别
fgets :1、从指定文件读取最多一行 2、保留“\n”,加“\0” 3、最多读 size - 1 个字符,最后一位放“\0”
gets :1、从终端读取 2、将末尾“\n”换成“\0” 3、读取时没有限制,可能造成越界访问
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
功能:向文件中写入nmemb个大小是size的数据到文件中
参数:
ptr:要写入的数据的首地址
size:每个元素的字节数
nmemb:要写入的元素个数
stream:要写入的文件流指针
返回值:成功:返回实际写入的元素个数
size_t fread(const void *ptr, size_t size, size_t nmemb, FILE *stream);
功能:从文件中读取nmemb个大小是size的数据
参数:
ptr:存储数据的首地址
size:每个元素的字节数
nmemb:要读取的元素个数
stream:要读取的文件流指针
返回值:成功:返回实际读取的元素个数
流定位相关接口
fseek
:- 功能:移动文件指针到指定位置。
- 原型:
int fseek(FILE *stream, long offset, int whence);
- 参数:
stream
:文件流指针。offset
:相对于whence
的偏移量。whence
:定位基准点,常见值为:SEEK_SET
:文件开头。SEEK_CUR
:当前文件指针位置。SEEK_END
:文件末尾。
- 返回值:成功返回
0
,失败返回非零值。
ftell
:- 功能:获取当前文件指针的位置。
- 原型:
long ftell(FILE *stream);
- 参数:
stream
:文件流指针。
- 返回值:当前文件指针的偏移量(相对于文件开头),失败返回
-1L
。
rewind
:- 功能:将文件指针重置到文件开头。
- 原型:
void rewind(FILE *stream);
- 参数:
stream
:文件流指针。