1. 首页
  2. 操作系统
  3. Unix
  4. 鸿鹄论坛华为认证H35-211-HCNP Access Network题库

鸿鹄论坛华为认证H35-211-HCNP Access Network题库

上传者: 2024-07-17 11:28:30上传 PDF文件 18.16MB 热度 9次

3.7 read函数用read函数从打开文件中读数据。

include

ssize_t read(int filedes, void *buff, size_t nbytes);

返回:读到的字节数,若已到文件尾为0,若出错为-1。如read成功,则返回读到的字节数。如已到达文件的尾端,则返回0。

有多种情况可使实际读到的字节数少于要求读字节数:

  • 读普通文件时,在读到要求字节数之前已到达了文件尾端。例如,若在到达文件尾端之前还有30个字节,而要求读100个字节,则read返回30,下一次再调用read时,它将返回0 (文件尾端)。

  • 当从终端设备读时,通常一次最多读一行(第11章将介绍如何改变这一点)。

  • 当从网络读时,网络中的缓冲机构可能造成返回值小于所要求读的字节数。

  • 某些面向记录的设备,例如磁带,一次最多返回一个记录。

读操作从文件的当前位移量处开始,在成功返回之前,该位移量增加实际读得的字节数。POSIX.1在几个方面对此函数的原型作了更改。其经典定义是:

int read(int filedes, char *buff, unsigned nbytes);

为了与ANSI C一致,其第二个参数由char 改为void 。在ANSI C中,类型void *用于表示类属指针。其次,其返回值必须是一个带符号整数(ssize_t),以返回正字节数、0(表示文件尾端)或-1(出错)。第三个参数在历史上是一个不带符号整数,以允许一个16位的实现可以一次读或写至65534个字节。在1990 POSIX.1标准中,引进了新的基本系统数据类型。

更多关于C语言文件操作函数的信息,可以访问以下链接:

C语言文件操作函数文档

C语言文件操作函数大全

C语言文件操作常用函数详解

C语言文件操作函数

常用C语言文件操作函数大全

C文件操作函数

用户评论