1.什么是文件
文件是指一组相关数据的有序集合, 这个数据集叫做文件名。其中分为 源程序文件(c)、目标文件(obj)、可执行文件(exe)、库文件 (头文件) 等。从用户的角度看,文件可分为普通文件和设备文件两种。
2.文件的操作函数
文件使用方式 | 含义 | 如果文件不存在 |
---|---|---|
“r” (只读) | 为了输入数据,打开一个存在的文本文件 | 出错 |
“w” | 为了输出数据,打开一个存在的文本文件 | 建立新文件 |
“a” | 向文本文件末尾添加数据 | 出错 |
“rb” | 为了输入数据,打开一个二进制文本文件 | 出错 |
“ab” | 向二进制文本文件末尾添加数据 | 出错 |
“wb” | 为了输出数据,打开一个二进制文本文件 | 建立新文件 |
文件使用方式 | 含义 | 如果文件不存在 |
---|---|---|
“r+” (只读) | 为了读和写 ,打开一个存在的文本文件 | 出错 |
“w+” | 为了读和写 ,建立一个新的文本文件 | 建立新文件 |
“a+” | 为了读和写 ,打开一个存在的文本文件 | 出错 |
“rb+” | 为了读和写 ,打开一个二进制文本文件 | 出错 |
“ab+” | 为了读和写 ,建立一个二进制文本文件 | 出错 |
“wb+” | 为了读和写 ,打开一个二进制文本文件 | 建立新文件 |
3.文件的顺序读写
功能 | 函数 | 适用于 |
---|---|---|
字符输出函数 | fputc | 所有输出流 |
文本行输出函数 | fputs | 所有输出流 |
字符输入函数 | fgetc | 所有输入流 |
文本行输入函数 | fgets | 所有输入流 |
格式化输出函数 | fprintf | 所有输出流 |
格式化输入函数 | fscanf | 所有输入流 |
二进制输出 | fwrite | 文件 |
二进制输入 | fread | 文件 |
区分:
scanf 是针对标准输入的格式化输入语句
fscanf 是针对所有输入流的格式化输入语句
sscanf 从一个字符串中转化成一个格式化的数据
printf 是针对标准输出的格式化输出语句
fprintf 是针对所有输出流的格式化输入语句
sprintf 是把一个格式化的数据转化成字符串
4.文件读取结束的判定
1.文本文件读取是否结束,判断返回值是否为EOF (fgetc),或者NULL(fgets)
fgetc判断是否为EOF
fgets判断返回值是否为NULL
2.二进制文件的读取结束判断,判断返回值是否小于实际要读的个数。
fread判断返回值是否小于实际要读的个数