3.49 文件基本概念
文件基本概念
- 文件流:
- C 语言把文件看作是一个字符的序列,即文件是由一个一个字符组成的字符流,因此 c 语言将文件也称之为文件流。
- 文件分类
文本文件
以 ASCII 码格式存放,一个字节存放一个字符。
文本文件的每一个字节存放一个 ASCII 码,代表一个字符
。这便于对字符的逐个处理,但占用存储空间
较多,而且要花费时间转换。.c文件就是以文本文件形式存放的
二进制文件
以补码格式存放。二进制文件是把数据以二进制数的格式存放在文件中的,其占用存储空间较少。
数据按其内存中的存储形式原样存放
.exe文件就是以二进制文件形式存放的
- 文本文件和二进制文件示例
- 下列代码暂时不要求看懂, 主要理解什么是文本文件什么是二进制文件
#include <stdio.h>
int main()
{
/*
* 以文本形式存储
* 会将每个字符先转换为对应的ASCII,
* 然后再将ASCII码的二进制存储到计算机中
*/
int num = 666;
FILE *fa = fopen("ascii.txt", "w");
fprintf(fa, "%d", num);
fclose(fa);
/*
* 以二进制形式存储
* 会将666的二进制直接存储到文件中
*/
FILE *fb = fopen("bin.txt", "w");
fwrite(&num, 4, 1, fb);
fclose(fb);
return 0;
}
内存示意图
通过文本工具打开示意图
- 文本工具默认会按照ASCII码逐个直接解码文件, 由于文本文件存储的就是ASCII码, 所以可以正常解析显示, 由于二进制文件存储的不是ASCII码, 所以解析出来之后是乱码