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);
时间: 2024-10-10 01:02:48