在C语言中,read函数用于从文件描述符中读取数据。它的原型如下:
#include <unistd.h>
ssize_t read(int fd, void *buf, size_t count);
参数说明:
返回值说明:
使用方法如下:
#include <stdio.h>
#include <unistd.h>
int main() {
int fd; // 文件描述符
char buf[1024]; // 缓冲区
ssize_t numRead; // 读取到的字节数
// 打开文件(如果是读取文件数据)
// fd = open("file.txt", O_RDONLY);
// 从标准输入读取数据
fd = 0;
// 读取数据
numRead = read(fd, buf, sizeof(buf));
// 判断读取结果
if (numRead == -1) {
// 读取失败
perror("read");
} else if (numRead == 0) {
// 文件已经读取到末尾
printf("End of file\n");
} else {
// 读取成功,输出读取到的数据
printf("Read %ld bytes: %s\n", numRead, buf);
}
// 关闭文件(如果是读取文件数据)
// close(fd);
return 0;
}
注意:read函数是一个阻塞函数,即程序会一直等待直到读取到数据或者发生错误。如果需要设置读取超时时间,可以使用select函数或者设置文件描述符非阻塞。