温馨提示×

C++ Linux下文件操作指南

小樊
42
2025-03-15 00:42:56
栏目: 编程语言
C++开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Linux下使用C++进行文件操作,通常会用到C++标准库中的<fstream>头文件,它提供了文件流对象来进行文件的读写操作。以下是一些基本的文件操作指南:

打开文件

使用std::ifstream打开文件用于读取,使用std::ofstream打开文件用于写入,使用std::fstream打开文件用于读写。

#include <fstream>
#include <iostream>

int main() {
    std::ifstream infile("example.txt"); // 打开文件用于读取
    if (!infile) {
        std::cerr << "Unable to open file for reading!" << std::endl;
        return 1;
    }

    std::ofstream outfile("example_copy.txt"); // 打开文件用于写入
    if (!outfile) {
        std::cerr << "Unable to open file for writing!" << std::endl;
        return 1;
    }

    // ... 进行文件操作 ...

    infile.close(); // 关闭文件
    outfile.close();

    return 0;
}

读取文件

可以使用>>操作符或者std::getline()函数来读取文件内容。

std::string line;
while (std::getline(infile, line)) {
    std::cout << line << std::endl; // 输出每一行
}

// 或者使用 >> 操作符逐个读取单词
std::string word;
while (infile >> word) {
    std::cout << word << std::endl;
}

写入文件

可以使用<<操作符将数据写入文件。

outfile << "Hello, World!" << std::endl;

追加内容到文件

在打开文件时,可以使用std::ios::app标志来追加内容到文件末尾。

std::ofstream outfile("example.txt", std::ios::app);
outfile << "Appended text" << std::endl;

检查文件状态

可以使用成员函数如eof(), fail(), bad()来检查文件流的状态。

if (infile.eof()) {
    std::cout << "Reached end of file" << std::endl;
}

if (infile.fail()) {
    std::cout << "An error occurred" << std::endl;
}

关闭文件

完成文件操作后,应该关闭文件以释放资源。

infile.close();
outfile.close();

使用C风格文件操作

除了C++风格的文件操作,你还可以使用C语言的文件操作函数,如fopen(), fclose(), fread(), fwrite()等。

#include <cstdio>

int main() {
    FILE* file = fopen("example.txt", "r"); // 打开文件用于读取
    if (!file) {
        std::cerr << "Unable to open file for reading!" << std::endl;
        return 1;
    }

    // ... 进行文件操作 ...

    fclose(file); // 关闭文件

    return 0;
}

在使用C风格文件操作时,需要包含<cstdio>头文件,并且使用FILE*类型的指针来管理文件。

这些是C++在Linux下进行文件操作的基本指南。根据实际需求,你可能需要使用更高级的功能,比如随机访问文件、文件锁定等。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:C++ Linux环境下GUI编程入门

0