5.6读和写流一旦打开了流,则可在三种不同类型的非格式化I / O中进行选择,对其进行读、写操作。 5 . 11节说明了格式化I / O函数,例如printf和scanf。 每次一个字符的I / O。一次读或写一个字符,如果流是带缓存的,则标准I / O函数处理所有缓存。每次一行的I / O。使用fgets和fputs一次读或写一行。每行都以一个新行符终止。当调用fgets时,应说明能处理的最大行长。5 . 7节将说明这两个函数。直接I / O。fread和fwrite函数支持这种类型的I / O。每次I / O操作读或写某种数量的对象,而每个对象具有指定的长度。这两个函数常用于从二进制文件中读或写一个结构。 5 . 9节将说明这两个函数。直接I/O(direct I/O)这个术语来自ANSI C标准,有时也被称为:二进制I / O、一次一个对象I / O、面向记录的I / O或面向结构的I / O。

5.6.1输入函数以下三个函数可用于一次读一个字符。 #include int getc(FILE fp) ; int fgetc(FILE fp) ; int getchar(void);三个函数的返回:若成功则为下一个字符,若已处文件尾端或出错则为EOF。函数getchar等同于getc(stdin)。前两个函数的区别是getc可被实现为宏,而fgetc则不能实现为宏。这意味着: getc的参数不应当是具有副作用的表达式。因为fgetc一定是个函数,所以可以得到其地址。这就允许将fgetc的地址作为一个参数传送给另一个函数。调用fgetc所需时间很可能长于调用getc,因为调用函数通常所需的时间长于调用宏。检验一下头文件的大多数实现,从中可见getc是一个宏,其编码具有较高的工作效率。这三个函数以unsigned char类型转换为int的方式返回下一个字符。说明为不带符号的理由是,如果最高位为1也不会使返回值为负。要求整型返回值的理由是,这样就可以返回所有可能的字符值再加上一个已发生错误或已到达文件尾端的指示值。在中的常数EOF被要9 6 UNIX环境高级编程下载。

通过了解这些输入输出流的基础知识,可以更好地理解和掌握编程中的I/O操作,提高程序的效率和可维护性。想了解更多关于ANSI标准的C库函数的信息,可以参考ANSI标准的C库函数标准C语言编程The ANSI C Programming Language。对于深入理解C语言的I/O操作,推荐阅读标准C的I O库函数实现文件逆转I O流相关知识

读和写流-鸿鹄论坛_华为认证h35-211-hcnp-access network题库

您可以更深入地理解C语言中的输入输出操作,提高编程技巧和知识储备。