当使用mmap
时,可以将文件映射到内存中,以便更方便地读取和写入文件数据。下面是一个使用mmap
的例子:
”`c++
#include
int main() {
// 打开文件
int fd = open("example.txt", O_RDWR);
if (fd == -1) {
std::cerr << "Failed to open file." << std::endl;
return 1;
}
// 获取文件大小
off_t size = lseek(fd, 0, SEEK_END);
// 将文件映射到内存
void* addr = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
if (addr == MAP_FAILED) {
std::cerr << "Failed to mmap file." << std::endl;
close(fd);
return 1;
}
// 对映射的内存进行操作(这里仅示范读取)
char* data = static_cast<char*>(addr);
for (off_t i = 0; i < size; ++i) {
std::cout << data[i];
}
内容由零声教学AI助手提供,问题来源于学员提问