fgetc
从指定的文件中读一个字节
返回值:成功返回读到的字节,出错或者读到文件末尾时返回 EOF
用法:FILE *fp; char ch; ch = fgetc(fp);
------------------------------------------------------------
fputc
函数向指定的文件写一个字节
返回值:成功返回写入的字节,出错返回 EOF
用法:FILE *fp; char ch; fputc(ch, fp);
------------------------------------------------------------
rewind
把读写位置移到文件开头
返回值: void
用法:rewind(fp);
------------------------------------------------------------
ftell
返回当前的读写位置
用法: long ftell(FILE *stream);
返回值:成功返回当前读写位置,出错返回-1 并设置 errno
------------------------------------------------------------
fseek
可以任意移动读写位置
用法:int fseek(FILE *stream, long offset, int whence);
whence 和 offset 参数共同决定了读写位置移动到何处,whence 参数的含义如下:
SEEK_SET
从文件开头移动 offset 个字节
SEEK_CUR
从当前位置移动 offset 个字节
SEEK_END
从文件末尾移动 offset 个字节
offset 可正可负,负值表示向前(向文件开头的方向)移动,正值表示向后(向文件末尾的方向)移动,如果向前移动的字节数超过了文件开头则出错返回,如果向后移动的字节数超过了文件末尾,再次写入时将增大文件尺寸,从原来的文件末尾到 fseek 移动之后的读写位置之间的字节都是 0。
返回值:成功返回 0,出错返回-1 并设置 errno
------------------------------------------------------------
fgets
从指定的文件中读一行字符到调用者提供的缓冲区中
用法: char *fgets(char *s, int size, FILE *stream);
返回值:成功时 s 指向哪返回的指针就指向哪,出错或者读到文件末尾时返回 NULL
------------------------------------------------------------
fputs
向指定的文件写入一个字符串
int fputs(const char *s, FILE *stream);
返回值:成功返回一个非负整数,出错返回 EOF
------------------------------------------------------------
fwrite/fread
用于读写记录,这里的记录是指一串固定长度的字节,比如一个int 、一个结构体或者一个定长数组
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
返回值:读或写的记录数,成功时返回的记录数等于nmemb,出错或读到文件末尾时返回的记录数小于nmemb,也可能返回0
------------------------------------------------------------