微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 C++ 中写入/读取内存流而不是文件流中的内容

如何解决在 C++ 中写入/读取内存流而不是文件流中的内容

我想将内容写入和读取到内存流,而不是任何文件,如 fstream、ifstream 或 ofstream。这样所有应该写入文件内容都应该在内存中,以便可以快速访问。

我应该如何在 C++ 中实现这个?

我想说的是:- 我将打开 ofstream 并在保存和关闭之前开始在文件中写入内容,我想读取所有内容,直到添加到 StringStream 中的 fout 中,如下所示。 最后我所有的内容都在我的字符串流中,并且不会创建文件,因为我不会使用 fout.close()。

ofstream fout(FileWritePath,ios_base::out);

fout << "Blahh Blahh.....\n\n";
fout << "Name: Abhishek\n";
fout << "Age: 43";

stringstream Readbuffer;
Readbuffer << fout.rdbuf();

string ReadFullstring = Readbuffer.str();
cout << ReadFullstring << endl;

解决方法

您回答了自己的问题: 如果要将值存储在行为类似于文件流的某些数据结构中,请使用 stringstream(来自 sstream-包):

std::ostringstream buf;

buf << "Blahh Blahh.....\n\n";
buf << "Name: Abhishek\n";
buf << "Age: 43";

std::cout << buf.str() << std::endl;

然后会如预期的那样:

Blahh Blahh.....

Name: Abhishek
Age: 43

Godbolt

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。