在C++中,read()
函數通常與文件描述符一起使用,用于從文件或其他類型的輸入源(如管道、套接字等)讀取數據
#include<iostream>
#include <fcntl.h> // 包含文件控制函數,如 open()
#include <unistd.h> // 包含 read() 和 close() 函數
int main() {
const char *file_path = "example.txt"; // 要打開的文件路徑
int file_descriptor; // 文件描述符
char buffer[1024]; // 存儲讀取數據的緩沖區
ssize_t bytes_read; // 實際讀取到的字節數
// 以只讀模式打開文件,獲取文件描述符
file_descriptor = open(file_path, O_RDONLY);
if (file_descriptor == -1) {
std::cerr << "Error opening file: "<< file_path<< std::endl;
return 1;
}
// 使用 read() 函數讀取文件內容
bytes_read = read(file_descriptor, buffer, sizeof(buffer) - 1);
if (bytes_read == -1) {
std::cerr << "Error reading from file: "<< file_path<< std::endl;
close(file_descriptor);
return 1;
}
// 確保字符串以空字符結尾
buffer[bytes_read] = '\0';
// 處理讀取到的數據,例如將其輸出到控制臺
std::cout << "File content: "<< buffer<< std::endl;
// 關閉文件描述符
close(file_descriptor);
return 0;
}
這個示例展示了如何在C++中使用 read()
函數從文件讀取數據。首先,我們使用 open()
函數以只讀模式打開文件,并獲取文件描述符。然后,我們使用 read()
函數從文件描述符讀取數據到緩沖區。最后,我們處理讀取到的數據(在這個例子中,我們將其輸出到控制臺),并使用 close()
函數關閉文件描述符。