ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

如何在C++中实现文件操作

2026/9/20 21:07:58 拓冰建站 浏览量
如何在C++中实现文件操作

大家好,今天给大家介绍如何在C++中实现文件操作,文章末尾附有分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!可进群免费领取。

在C++中,实现文件操作主要涉及到 <fstream> 库,它提供了用于文件输入输出的类。以下是一些基本的文件操作示例:

1. 打开文件

使用 std::fstream 类的构造函数可以打开一个文件。你需要提供文件名和打开模式作为参数。

#include <fstream>  
#include <iostream>  int main() {  std::fstream file("example.txt", std::fstream::out);  if (!file) {  std::cerr << "Unable to open file";  exit(1); // 终止程序  }  // ... 进行文件操作 ...  file.close(); // 关闭文件  return 0;  
}

2. 写入文件

使用 << 运算符可以向文件写入数据。

#include <fstream>  
#include <iostream>  int main() {  std::fstream file("example.txt", std::fstream::out);  if (!file) {  std::cerr << "Unable to open file";  exit(1);  }  file << "Hello, World!";  file.close();  return 0;  
}

3. 读取文件

使用 >> 运算符可以从文件读取数据。

#include <fstream>  
#include <iostream>  
#include <string>  int main() {  std::fstream file("example.txt", std::fstream::in);  if (!file) {  std::cerr << "Unable to open file";  exit(1);  }  std::string line;  while (std::getline(file, line)) {  std::cout << line << '\n';  }  file.close();  return 0;  
}

4. 读写二进制文件

你也可以使用 std::fstream 来读写二进制文件。只需在打开文件时指定 std::fstream::binary 模式。

#include <fstream>  
#include <iostream>  int main() {  int number = 123;  std::fstream file("example.bin", std::fstream::out | std::fstream::binary);  if (!file) {  std::cerr << "Unable to open file";  exit(1);  }  file.write(reinterpret_cast<char*>(&number), sizeof(number));  file.close();  std::fstream file2("example.bin", std::fstream::in | std::fstream::binary);  if (!file2) {  std::cerr << "Unable to open file";  exit(1);  }  int readNumber;  file2.read(reinterpret_cast<char*>(&readNumber), sizeof(readNumber));  std::cout << "Read number: " << readNumber << std::endl;  file2.close();  return 0;  
}

请注意,这些示例仅涵盖了文件操作的基础知识。在实际应用中,你可能需要处理更复杂的情况,例如文件锁定、错误处理、文件格式化等。

嵌入式物联网需要学的东西真的非常多,(c语言方向的内容也有)千万不要学错了路线和内容,导致工资要不上去!

分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!

点击进群免费领取

扫码进群领资料icon-default.png?t=N7T8https://s.pdb2.com/pages/20230519/16QijNiGb32IFIn.html