1. 首页
  2. 操作系统
  3. Unix
  4. 读和写流-鸿鹄论坛_华为认证h35-211-hcnp-access network题库

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

上传者: 2024-07-15 21:49:35上传 PDF文件 18.16MB 热度 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。以下三个函数可用于一次读一个字符。

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也不会使返回值为负。要求整型返回值的理由是,这样就可以返回所有可能的字符值再加上一个已发生错误或已到达文件尾端的指示值。

在了解这些基本概念后,建议读者可以参考更多相关资料以深入学习和实践这些I / O操作。可以参考的链接如下:

  1. Java I O过滤流带格式的读写操作

  2. 文件I O操作

  3. I O流应用数据

  4. I O流相关知识

I O流相关知识

  1. Java I O标准输入输出流System.in
用户评论