如何在c++中使用read()函数读取文件

1949idc 2年前 (2024-09-18) 阅读数 288 #编程语言

在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()函数将文件内容读取到缓冲区。接下来,程序将读取到的内容输出到控制台,并关闭文件描述符。

注意:这个示例程序没有处理可能发生的错误,例如文件不存在或无法打开。在实际应用中,你需要添加适当的错误处理代码。

版权声明

本文内容由互联网用户自发贡献,该文观点仅代表作者本人
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

© 2010 首途云安 & 厦门硕顿信息技术有限公司 & 闽ICP备11016866号  增值电信业务经营许可证:B1-20203020 地址:福建厦门思明区嘉禾路297号1806
高新技术企业
软件产品证书
计算机软件著作权
ISO认证
国家3A企业