几个问题,不关函数的
1,ANSI C标准规定,只采用缓冲区文件系统。而UNIX下的C用缓冲区文件系统处理文本文件,非缓冲区文件系统处理二进制文件。哪位兄弟,给解释一下,文本文件和二进制文件的区别呢?如西文字母car用文本文件和二进制文件分别怎么表示?
2,在书上看到的“向计算机输入文本文件时,将回车 换行转成换行一个字符,在输出时又把换行转成回车 换行”。我不懂换行和回车有什么区别?为什么要转换?
3,例vc 或turbo c在哪里可以看到,如sin(),printf(),这些函数。
4, <stdin> , <stdlib> 等等都包含什么函数,我从哪里可以知道呢?或者有什么手册一类的可以查询,请高手指点啊
[解决办法]
1、文本文件和二进制文件的区别
文本文件是字符序列,由一系列正文行组成,不论流(文件)实际上如何存储,只要把它们以正文方式读入内存,运行时函数会自动地在所读入每一行正文的末尾插入一个换行符(如果原来没有)。这样对于正文行就有了统一的方式,对于正文流中的字符与实际存储在外部设备上的字符不必一一对应,而只要求所读出的字符与此前写进去的相同就行,在正文流中指可以输入输出可打印的字符、制表符和换行符,在stdio.h中定义了三个标准的正文流(指针)即:stderr、stdin和stdout,每个就指针分别指向不同的外部设备,当然,在很多环境中都可以将它们重新定位。
二进制文件不像文本文件那样分成若干行,在二进制流中可以处理包括各种控制符在内的所有字符,通过二进制就处理的字符必须与存储在相应外部设备上的字符一一对应。二进制流主要用来处理费正文数据
2、详见http://community.csdn.net/Expert/topic/5680/5680852.xml?temp=.6300775
3、那些函数的原型看不到,只能在相应的头文件里面看到函数声明。
4、你要查的东西在你编译软件安装目录里面的include文件夹里可以看到!
[解决办法]
我觉得你第1条有点问题.
ANSI C标准规定,只采用缓冲区文件系统. 有这个规定吗? Standard IO 是buffered IO这个是没错. 但缓冲区文件系统, 不知道啊.
UNIX 下, 从操作系统角度看, 似乎也没有文本文件, 二进制文件的差异. 从系统角度看, 只有文件. 唯一的特例应该是可执行文件. 因为kernel要启动它, 需要了解它.
文本文件, 两进制文件. 这是从用户程序角度(包括C标准库)区分的. 区别就象楼上老大说的.
[解决办法]
文本存儲一般使用 fget/fputs
二進制存儲一般使用 fscanf/fprintf fread/fwrite
本質上沒區別,系統調用沒有這兩種mode的區分。
你說的例子,講的是內存布局吧?