
Linux系统下,C++文件操作主要通过标准库中的文件流(fstream)或C语言的函数(如fopen, fclose, fread, fwrite)实现。本文将分别介绍这两种方法。
方法一:使用C++文件流(fstream)
fstream类位于头文件中,提供面向对象的、更易于使用的文件操作方式。
#include#include #include int main() { // 打开文件进行读取 std::ifstream inputFile("example.txt"); if (!inputFile.is_open()) { std::cerr << "无法打开输入文件!" << std::endl; return 1; // 返回错误码 } // 读取文件内容 std::string line; while (std::getline(inputFile, line)) { std::cout << line << std::endl; } inputFile.close(); // 打开文件进行写入 std::ofstream outputFile("output.txt"); if (!outputFile.is_open()) { std::cerr << "无法打开输出文件!" << std::endl; return 1; } // 写入数据 outputFile << "Hello, World from C++!" << std::endl; outputFile.close(); return 0; }
方法二:使用C语言文件操作函数
立即学习“C++免费学习笔记(深入)”;
C语言的文件操作函数定义在头文件中,功能更底层,需要手动管理文件指针。
#include#include int main() { // 打开文件进行读取 FILE *inputFile = fopen("example.txt", "r"); if (inputFile == nullptr) { perror("无法打开输入文件"); return EXIT_FAILURE; } // 读取文件内容 char buffer[256]; while (fgets(buffer, sizeof(buffer), inputFile) != nullptr) { printf("%s", buffer); } fclose(inputFile); // 打开文件进行写入 FILE *outputFile = fopen("output.txt", "w"); if (outputFile == nullptr) { perror("无法打开输出文件"); return EXIT_FAILURE; } // 写入数据 fprintf(outputFile, "Hello, World from C!\n"); fclose(outputFile); return EXIT_SUCCESS; }
两种方法都能实现文件操作,但fstream更符合C++的编程风格,推荐优先使用。 C语言方法在需要精细控制文件操作细节时可能更灵活。










