C 语言 read函数返回值
时间: 2023-07-31 07:10:39 浏览: 784
在 C 语言中,read函数是用于从文件描述符中读取数据的函数,其函数原型如下:
```
ssize_t read(int fd, void *buf, size_t count);
```
read函数的返回值类型是 ssize_t,表示已读取的字节数。如果读取成功,则返回已读取的字节数;如果读取到文件末尾,则返回0;如果发生错误,则返回-1,并设置 errno 变量以指示错误类型。
例如,可以使用如下代码读取文件中的数据,并打印出读取的结果和 read 函数的返回值:
```
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
int main(int argc, char *argv[]) {
int fd;
char buffer[1024];
ssize_t ret;
fd = open("test.txt", O_RDONLY);
if (fd == -1) {
perror("open");
exit(EXIT_FAILURE);
}
ret = read(fd, buffer, sizeof(buffer));
if (ret == -1) {
perror("read");
exit(EXIT_FAILURE);
} else if (ret == 0) {
printf("End of file\n");
} else {
printf("%ld bytes read: %s\n", ret, buffer);
}
close(fd);
return 0;
}
```
上述代码中,read函数的返回值存储在变量 ret 中,可以根据 ret 的值来判断读取是否成功。同时,可以使用 perror 函数来输出错误信息,errno 变量则记录了具体的错误类型。
阅读全文