温馨提示×

如何使用c++ fopen函数进行文件读写操作

c++
小樊
89
2024-08-28 00:24:07
栏目: 编程语言

在C++中,您可以使用fopenfreadfwrite等函数来进行文件的读写操作

#include<iostream>
#include <cstdio>
#include <cstring>

int main() {
    // 打开一个文件用于写入
    FILE* file_ptr = fopen("example.txt", "w");
    if (file_ptr == nullptr) {
        std::cerr << "Error opening file for writing."<< std::endl;
        return 1;
    }

    // 写入数据到文件
    const char* data = "Hello, World!";
    size_t bytes_written = fwrite(data, sizeof(char), strlen(data), file_ptr);
    if (bytes_written != strlen(data)) {
        std::cerr << "Error writing to file."<< std::endl;
        fclose(file_ptr);
        return 1;
    }

    // 关闭文件
    fclose(file_ptr);

    // 打开同一个文件用于读取
    file_ptr = fopen("example.txt", "r");
    if (file_ptr == nullptr) {
        std::cerr << "Error opening file for reading."<< std::endl;
        return 1;
    }

    // 读取文件内容
    char buffer[256];
    size_t bytes_read = fread(buffer, sizeof(char), sizeof(buffer) - 1, file_ptr);
    if (bytes_read == 0) {
        std::cerr << "Error reading from file."<< std::endl;
        fclose(file_ptr);
        return 1;
    }

    // 确保字符串以'\0'结尾
    buffer[bytes_read] = '\0';

    // 输出读取到的内容
    std::cout << "Read from file: "<< buffer<< std::endl;

    // 关闭文件
    fclose(file_ptr);

    return 0;
}

这个示例首先创建(或打开)一个名为example.txt的文件,并将字符串"Hello, World!"写入该文件。然后,它关闭文件并重新以只读模式打开它。接着,它读取文件的内容到缓冲区buffer,并将其输出到控制台。最后,它关闭文件。

注意:在实际编程中,请确保正确处理错误情况,例如检查指针是否为空,以及检查读/写操作是否成功。

0