解码文件操作接口
标准IO
- 标准C库中关于文件输入输出的函数接口一般被称为标准IO,访问文件常用的标准IO函数有fopen()、fread()、fwrite()、fclose()、fgetc()、fputc()、fgets()、fputs()、fprintf()、fscanf()等。
打开文件fopen()
#include <stdio.h>
FILE *fopen(const char *filename, const char *mode);
// 参数1:const char *filename - 字符串类型,指定要打开的文件路径(相对路径或绝对路径)
// 参数2:const char *mode - 字符串类型,指定文件的打开模式(如"r"只读、"w"写入等)
// 返回值:FILE* - 成功时返回指向FILE结构体的指针(用于后续文件操作),失败时返回NULL
读取数据
用户打开文件后可以从文件中读取数据,标准C库中提供了多个读取函数来满足用户的不同需求,这些函数大体分为三类:字符读取(fgetc)、按行读取(fgets)、按块读取(fread)。
#include <stdio.h>
int fgetc(FILE *stream);
// 参数:FILE *stream - 指向FILE结构体的指针(由fopen返回的文件指针)
// 返回值:int - 成功时返回读取到的字符(以ASCII码值表示,范围0-255);
// 失败或到达文件末尾时返回EOF(通常定义为-1)
#include <stdio.h>
char *fgets(char *str, int size, FILE *stream);
// 参数1:char *str - 指向字符数组的指针,用于存储读取到的字符串
// 参数2:int size - 最大读取字符数(包含终止符'\0',实际最多读取size-1个字符)
// 参数3:FILE *stream - 指向FILE结构体的指针(文件指针,由fopen返回)
// 返回值:char* - 成功时返回str(与参数1相同的指针);
// 失败或到达文件末尾时返回NULL
#include <stdio.h>
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
// 参数1:void *ptr - 指向内存块的指针,用于存储读取到的数据(需提前分配内存)
// 参数2:size_t size - 每个数据单元的字节数(如int类型为4字节)
// 参数3:size_t nmemb - 要读取的数据单元数量
// 参数4:FILE *stream - 指向FILE结构体的指针(文件指针,由fopen返回)
// 返回值:size_t - 成功读取的数据单元数量;
// 若小于nmemb,可能是到达文件末尾或发生错误

浙公网安备 33010602011771号