在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函數或者設置文件描述符非阻塞。