在C++中,read()
函數通常與文件描述符一起使用,它是從UNIX系統調用中繼承的
#include<iostream>
#include <fcntl.h> // 包含文件控制函數和宏
#include <unistd.h> // 包含read()和close()函數
#include <sys/stat.h> // 包含文件狀態相關的函數和宏
int main() {
const char *file_name = "example.txt"; // 要打開的文件名
int file_descriptor; // 文件描述符
char buffer[1024]; // 存儲讀取內容的緩沖區
ssize_t bytes_read; // 實際讀取到的字節數
// 以只讀模式打開文件,返回文件描述符
file_descriptor = open(file_name, O_RDONLY);
if (file_descriptor < 0) {
std::cerr << "Error opening file: "<< file_name<< std::endl;
return 1;
}
// 使用read()函數讀取文件內容
bytes_read = read(file_descriptor, buffer, sizeof(buffer) - 1);
if (bytes_read < 0) {
std::cerr << "Error reading file: "<< file_name<< std::endl;
close(file_descriptor);
return 1;
}
// 確保字符串以'\0'結尾
buffer[bytes_read] = '\0';
// 輸出讀取到的內容
std::cout << "File content: "<< std::endl<< buffer<< std::endl;
// 關閉文件描述符
close(file_descriptor);
return 0;
}
這個示例程序首先打開一個名為example.txt
的文件,然后使用read()
函數將文件內容讀取到緩沖區。接下來,程序將讀取到的內容輸出到控制臺,并關閉文件描述符。
注意:這個示例程序沒有處理可能發生的錯誤,例如文件不存在或無法打開。在實際應用中,你需要添加適當的錯誤處理代碼。