前言:记录工作中自己用到的一些小知识!
为了方便对文件操作,C语言提供了一套标准的文件操作函数,以下是常用的几个文件函数:
C函数库中文件操作函数:
(1)fopen:打开文件
函数原型:FILE* fopen(char *path, char *mode);
函数参数:path----打开文件名及其路径 mode----r w a ……
函数返回:成功则返回指向该流的文件指针,失败则返回NULL并把错误存在errno中
(2)fgetc:从指定文件读取一个字符
函数原型:int fgetc(FILE *stream);
函数参数:stream----指定文件
函数返回:成功则返回读取的字符,失败则返回EOF(-1) //【符号常量,其值为-1】
(3)fputc:向指定文件写入一个字符
函数原型:int fputc(int c, FILE *stream);
函数参数:c----字符 stream----指定文件
函数返回:成功则返回字符,失败则返回EOF(-1)
(4)fgets:从文件中读取字符串
函数原型:char* fgets(char *s, int size, FILE *stream);
函数参数:s----读取字符串缓存区 size----读取字符串长度 stream----待读文件指针
函数返回:成功则返回s指针,失败则返回NULL
(5)fputs:向指定文件写入字符串
函数原型:int fputs(char *s, FILE *stream);
函数参数:s----待写入的字符串 stream----指定文件对象
函数返回:成功则返回0,失败则返回EOF(-1)
(6)fprintf:写格式化字符串到指定文件中
函数原型:fsprintf(FILE *stream, const char *format, ...);
函数参数:stream----指定文件指针 format----字符串格式 ……
函数返回:成功则返回0,失败则返回-1并置errno值
(7)fread:从文件流中读取数据
函数原型:size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
函数参数:ptr----输出数据的地址 size----写入数据字节数 nmemb----需要写入size字节数据的数据项个数 stream----目标文件指针
函数返回:成功则返回读取成功的次数,遇EOF结束读取返回0.
(8)fwrite:向文件中写入数据
函数原型:size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
函数参数:ptr----输出数据的地址 size----写入数据字节数 nmemb----需要写入size字节数据的数据项个数 stream----目标文件指针
函数返回:成功则返回写入字节数,失败返回0
(9)fseek:设定文件的当前读写位置,移动文件指针fp位置【ftell:获取文件当前读写位置】
函数原型:int fseek(FILE *stream, long offset, int whence);
函数参数:stream----指向该流的文件指针 offset----偏移位置 whence----移动文件流的读写位置时参考位置:SEEK_SET(文件首端) SEEK_CUR(当前位置) SEEK_END(文件尾端)
函数返回:成功则返回0,失败则返回-1
(10)fclose:关闭文件
函数原型:int fclose(FILE *stream);
函数参数:stream----指向该流的文件指针
函数返回:成功则返回值为0,失败则返回EOF(-1)