c++:C++用fstream读写文件

fstream介绍

(1)fstream是C++标准库中面向对象库的一个,用于操作流式文件
(2)fstream本质上是一个class,提供file操作的一众方法
可以直接查看

man --version
man 2.10.2

在线查看:
https://cplusplus.com/reference/#google_vignette

在这里插入图片描述

https://zh.cppreference.com/w/%E9%A6%96%E9%A1%B5

在这里插入图片描述
需要添加头文件:

#include <fstream>
#include <cstring> // 用于strlen函数
// 打开文件进行读写和追加
  fstream file;
  file.open("example.txt", ios::in | ios::out | ios::app);

  // 检查文件是否成功打开
  if (!file.is_open()) {
    cerr << "Unable to open file example.txt" << endl;
    return 1;  // 返回错误代码
  }

  // 写入文件内容
  file << "Appending some text to the file." << endl;

  // 将文件指针移动到文件开头以进行读取
  file.seekg(0);

  // 读取文件内容并输出
  string line;
  while (getline(file, line)) {
    cout << line << endl;
  }

  // 关闭文件
  file.close();
  return 0;

open:
在这里插入图片描述

  // 打开文件进行读写和追加
  fstream file;
  file.open("example.txt", ios::in | ios::out | ios::app);

  // 检查文件是否成功打开
  if (!file.is_open()) {
    cerr << "Unable to open file example.txt" << endl;
    return 1;  // 返回错误代码
  }

  // 写入文件内容
  file << "Appending some text to the file." << endl;
  const char* str = "Hello, World!";
  file.write(str, strlen(str));
  // 使用 write 写入 std::string 对象
  string str1 = "Hello, C++";
  file.write(str1.c_str(), str1.size());
  file << endl;  // 写入换行符以区分不同写入操作
  // 将文件指针移动到文件开头以进行读取
  file.seekg(0);
#if 0
  // 读取文件内容并输出
  string line;
  while (getline(file, line)) {
    cout << line << endl;
  }
#else
  cout << "======================" << endl;
  // 获取文件大小
  file.seekg(0, ios::end);
  streamsize size = file.tellg();
  file.seekg(0, ios::beg);

  // 创建缓冲区并读取文件内容
  char* buffer = new char[size + 1];
  file.read(buffer, size);
  buffer[size] = '\0';  // 添加终止符

  // 输出逐行读取的内容
  char* line1 = strtok(buffer, "\n");
  while (line1 != nullptr) {
    cout << line1 << endl;
    line1 = strtok(nullptr, "\n");//用于指定分割字符串的分隔符集合
  }
  // 清理并关闭文件
  delete[] buffer;
#endif
  // 关闭文件
  file.close();
  return 0;

总结

可以使用fstream读写文件

学习记录,侵权联系删除。
来源:朱老师物联网大课堂

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
C++文件读写fstream结构体是C++中用于文件读写的一种标准库。它提供了一种简单的方式来读写文件,包括文本文件和二进制文件。具体来说,fstream结构体提供了三种不同的文件操作方式:取(input)、写入(output)和读写(input/output)。你可以使用它来打开一个文件文件内容、写入数据到文件或者在文件中进行读写操作。 下面是一个简单的例子来说明如何使用fstream结构体来读写文件: ``` #include <iostream> #include <fstream> using namespace std; int main() { // 创建一个fstream对象并打开文件 fstream file("example.txt", ios::in | ios::out | ios::trunc); // 写入数据到文件 file << "Hello, World!" << endl; // 从文件取数据 string line; getline(file, line); cout << line << endl; // 关闭文件 file.close(); return 0; } ``` 在上面的代码中,我们首先创建了一个fstream对象,并通过构造函数打开了名为example.txt的文件。在这个例子中,我们使用了三个不同的文件操作方式:ios::in(输入)、ios::out(输出)和ios::trunc(截断)。这意味着我们可以从文件取数据,也可以向文件中写入数据,并且每次打开文件时都会清空文件内容。 接下来,我们将“Hello, World!”写入到文件中。然后,我们使用getline()函数从文件取一行数据,并将其存储到字符串变量line中。最后,我们将line输出到控制台。 最后,我们调用close()函数关闭文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

li星野

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值