将数据存储在流中而不打开文件
Store data in ofstream without opening a file
有没有办法将数据存储到流中,例如:
#include <fstream>
int main() {
std::ofstream output;
std::ifstream input("myfile.txt");
int a;
for (int i=0;i<100;i++) {
input >> a;
output << a+1;
}
input.close();
output.open("myfile.txt");
// Save everything to the file and close it
}
我想基本上更改文件中的数字("myfile.txt"),但不创建新文件。这需要标准吗?
您可以
先写入内存中输出流的ostringstream
。然后将内容写入另一个流,例如:
std::ostringstream in_memory_stream;
// fill in_memory_stream
// ...
// copy in_memory_stream into myfile.txt
std::ofstream file("myfile.txt");
file << in_memory_stream.rdbuf();
或者,写入具有临时名称的文件。文件完成后,刷新它并将其重命名为最终名称。
您可以将数据保存在内存中,然后覆盖旧文件
ifstream input("myfile.txt");
int a;
vector<int> vin;
for (int i=0;i<100;i++) {
input >> a;
vin.push_back(a+1);
}
input.close();
ofstream out("myfile.txt");
for(int i=0;i<vin.size();++i)
{
out<<vin[i]<<endl;
}
相关文章:
- 从 bmp 文件数据创建 MFC CBitmap
- 从存储为 Windows 资源 (c++) 的 png 中获取 png 文件数据
- 如何在 Gnuplot 中分别绘制 2 个文件数据?我有一个文件"sin.txt",另一个文件"cos.txt",我想将它们分别绘制在一个图表上
- 获取文件数据预处理器宏
- 错误的值是使用c++从CSV文件数据写入数组
- 无法在可视C++中检索资源文件数据
- 将文本文件数据读入字符数组时提取运算符的歧义
- 如何使用curl c ++源代码发布wav文件数据,如何使用c ++使用--data-binary?
- 如何在C++中读取 UTF-8 文件数据
- 如何在结构中存储二进制文件数据
- 无法从 turbo c 程序中的文件检索文件数据
- 使用 fstream 将文件数据从当前位置保存到文件末尾
- 通过Google Protobuf发送二进制文件数据
- 在通过套接字向服务器发送文件数据时,我得到了一些垃圾值?为什么
- 如何使用dlang读取二进制文件数据
- 程序使用FSCANF读取文件数据后崩溃
- 检测二进制文件数据的端性
- C++ 从文本文件数据类型读取为结构,并将数据存储在列表的向量中
- 将 FFT 应用于 WAV 文件数据的 C++
- C++内存映射的文件数据预取