首页 > 代码库 > C库文件操作

C库文件操作

C lib的文件操作是独立于具体的操作系统平台的

1. 创建和打开

FILE *fopen(const char *path, const char *mode);

fopen()实现打开指定文件filename,其中的mode为打开模式,C lib中支持打开的mode如下:

其中b用于区分二进制文件和文本文件。

 

2. 读写

C lib支持以字符、字符串等为单位,支持按照某种格式进行读写,

int fgetc(FILE *stream);int fputc(int c, FILE *stream);char *fgets(char *s, int n, FILE *stream);int fputs(const char *s, FILE *stream);int fprintf(FILE *stream, const char *format, ...);int fscanf(FILE *stream, const char *format, ...);size_t fread(void *ptr, size_t size, size_t n, FILE *stream);size_t fwrite(const void *ptr, size_t size, size_t n, FILE *stream);

fread()实现从流stream中读取n个字段,每个字段为size字节,并将读取的字段放入ptr所指的字符数组中,返回已读的地段数,

在读取的字段数小于n时有两种情况,第一就是函数出现错误,可用ferror()来判断, 第二就是读到文件的结尾,可用feof()来判断。

 

write()实现从缓冲区ptr所指的数组中把n个字段的size字节写到stream流中,返回实际写入的字段数。

 

另外,C lib提供了读写的定位函数:

int fgetpos(FILE *stream, fpos_t *pos);int fsetpos(FILE *stream, const fpos_t *pos);int fseek(FILE *stream, long offset, int whence);

 

3. 关闭

int fclose(FILE);

 

C库文件操作