2、标准ⅣO函数库 C语言没有专门的输入输出语句,ⅣO操作均通 过调用ⅣO函数库中的WO函数来完成。其好处是用 函数实现输入输出使C语言编译系统简单,避免与硬 件有关的问题,便于移植。 如果C程序中要调用ⅣO函数库中的函数进行IO 操作,则应在程序的开始安排如下的一条C预处理程 序命令: # include< stdio. h>或# include“ stdio.h stdio. h是一个文本文件,称为标准ⅣO头文件。 其中包含有标准O函数的原型说明(函数的名字 参数个数、类型等),标准/O函数使用的符号常量 等信息。尖括号或双引号指出如何找到 stdio.h文件。 16
16 2、标准I/O函数库 C语言没有专门的输入输出语句,I/O 操作均通 过调用I/O函数库中的 I/O 函数来完成 。其好处是用 函数实现输入输出使C语言编译系统简单, 避免与硬 件有关的问题,便于移植。 如果C程序中要调用I/O函数库中的函数进行I/O 操作, 则应在程序的开始安排如下的一条C预处理程 序命令: #include <stdio.h> 或 #include “stdio.h” stdio.h 是一个文本文件,称为标准I/O头文件。 其中包含有标准 I/O 函数的原型说明 ( 函数的名字、 参数个数、类型等),标准I/O函数使用的符号常量 等信息。尖括号或双引号指出如何找到 stdio.h 文件
3、流( stream) C语言中,把ⅣO设备都看成文件,称之为设备文 件,键盘看作为输入设备文件,显示器看作为输出设 备文件。但是程序中的ⅣO操作并不直接与具体的设 备文件关联,而是通过所谓的“流”进行读写, “流”再与具体的设备文件关联。 流是一种以行为单位组织的字符序列(文本流/字 符流);或者是一种字节序列,没有行的概念,C程序 读写流中的每一个字节,不存在任何字符变换(二进 制流字节流),实际的ⅣO被映射到这样的数据流
17 流是一种以行为单位组织的字符序列(文本流/字 符流);或者是一种字节序列,没有行的概念,C程序 读写流中的每 一个字节,不存在任何字符变换(二进 制流/字节流), 实际的 I/O被映射到这样的数据流。 3、流(stream) C语言中,把 I/O设备都看成文件, 称之为设备文 件,键盘看作为输入设备文件,显示器看作为输出设 备文件。但是程序中的 I/O 操作并不直接与具体的设 备文件关联,而是通过所谓 的“流”进行读写 , “流”再与具体的设备文件关联
流实际上是内存中的一个缓冲区: 一个输入流 C程序 入H口口m 线冲区 个程序在运行期间可以建立多个输入流和多个 输出流。通常一个程序总是要进行ⅣO,于是系统在 每个程序被启动运行时,自动为其建立至少3个流: 18
18 流实际上是内存中的一个缓冲区: 一个程序在运行期间可以建立多个输入流和多个 输出流。通常一个程序总是要进行 I/O,于是系统在 每个程序被启动运行时,自动为其建立至少3个流:
■标准输入流( stdin) 与键盘连接, stdin是指向该流的指针。标准输入函 数被调用时从 stdin指向的流中取得字符。 ■标准输出流( stdout) 与显示器连接, stdout是指向该流的指针。标准 输出函数被调用时向 stdout指向的流发送字符并显 示在屏幕上 标准错误输出流( stderr) 也与显示器连接, stderr是指向该流的指针。程 序在运行期间向 esterr指向的流发送所有报错信息, 并显示在屏幕上。 可见一个设备上可以对应多个流
19 标准输入流(stdin) 与键盘连接,stdin是指向该流的指针。标准输入函 数被调用时从stdin指向的流中取得字符。 标准输出流(stdout) 与显示器连接,stdout是指向该流的指针。标准 输出函数被调用时向stdout 指向的流发送字符,并显 示在屏幕上。 标准错误输出流(stderr) 也与显示器连接,stderr 是指向该流的指针。程 序在运行期间向stderr指向的流发送所有报错信息, 并显示在屏幕上。 可见一个设备上可以对应多个流