文本文件s二进制文件 <stdio.h>支持两种类型的文件:text文件和 binary.文件 文本文件的内容被解释为字符,比如c语言的 源程序文件就是文本文件 ■ 二进制文件的内容一般不解释为字符,但某些 位的组合仍然可以表达有意义的信息,典型的 可执行文件就是二进制文件,类似于图像、视 频等文件一般也是二进制文件
文本文件 vs 二进制文件 <stdio.h>支持两种类型的文件: text文件和 binary文件 文本文件的内容被解释为字符,比如C语言的 源程序文件就是文本文件 二进制文件的内容一般不解释为字符,但某些 位的组合仍然可以表达有意义的信息,典型的 可执行文件就是二进制文件,类似于图像、视 频等文件一般也是二进制文件 7
文本文件的特点 文本文件有两类特殊字符是二进制文件不需要关注的 文本文件一般分割为多个行,每行以特殊的字符表示 换行 Windows:回车(\x0d')后面跟着换行(\x0a) UNIX和新版Mac OS:换行符 老版本Mac OS:回车符 文件结束标记 Nindows:文件结束标记为\x1a'(ctrl-Z),但不是必需的 %Uniⅸ以及其它系统没有文件结束标记 ■二进制文件不对换行符和文件结束标记特殊对待
文本文件的特点 文本文件有两类特殊字符是二进制文件不需要关注的 文本文件一般分割为多个行,每行以特殊的字符表示 换行 Windows: 回车('\x0d')后面跟着换行('\x0a') UNIX和新版Mac OS: 换行符 老版本Mac OS: 回车符 文件结束标记 Windows: 文件结束标记为'\x1a' (Ctrl-Z),但不是必需的 Unix以及其它系统没有文件结束标记 二进制文件不对换行符和文件结束标记特殊对待 8
文本文件和二进制文件存储的区别 存储信息到文件中,既可以选择文本格式也可 以选择二进制格式 ■存储数字32767为文本格式: 00110011 00110010 00110111 00110110 00110111 3 2 17 ′6 17 存储数字32767为二进制格式: 01111111 11111111 ■二进制格式存储数字一般可节约空间 9
文本文件和二进制文件存储的区别 存储信息到文件中,既可以选择文本格式也可 以选择二进制格式 存储数字32767为文本格式: 存储数字32767为二进制格式: 二进制格式存储数字一般可节约空间 9
文件格式的注意事项 编程访问文件时需考虑文件是文本格式还是二 进制格式 ■ 文件拷贝时以二进制格式拷贝更安全,否则二 进制格式中很可能包含空字符、文件结束符等 ,以文本模式处理碰到空字符、文件结束符会 结束操作 如果不能确定文件格式,以二进制格式访问更 安全 10
文件格式的注意事项 编程访问文件时需考虑文件是文本格式还是二 进制格式 文件拷贝时以二进制格式拷贝更安全,否则二 进制格式中很可能包含空字符、文件结束符等 ,以文本模式处理碰到空字符、文件结束符会 结束操作 如果不能确定文件格式,以二进制格式访问更 安全 10
文件操作 重定向虽然简单,但限制很多 在程序内部,并不知道已被重定向,对重定向的文 件也无法在程序内部控制 必如果需要同时从多个文件读或者写,重定向不可行 ■<stdio.h>提供了很多文件操作函数供选用 11
文件操作 重定向虽然简单,但限制很多 在程序内部,并不知道已被重定向,对重定向的文 件也无法在程序内部控制 如果需要同时从多个文件读或者写,重定向不可行 <stdio.h>提供了很多文件操作函数供选用 11