C++ 在流中存储数据而不打开文件
有没有一种方法可以将数据存储到流中,如:C++ 在流中存储数据而不打开文件,c++,C++,有没有一种方法可以将数据存储到流中,如: #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()
#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
}
#包括
int main(){
std::流输出;
std::ifstream输入(“myfile.txt”);
INTA;
对于(int i=0;i>a;
输出您可以将数据保存在内存中,然后覆盖旧文件
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;
}
ifstream输入(“myfile.txt”);
INTA;
矢量vin;
对于(int i=0;i>a;
vin.推回(a+1);
}
input.close();
流输出(“myfile.txt”);
对于(int i=0;i您可以先写入内存中的输出流。然后将内容写入另一个流,例如:
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();
std::内存流中的ostringstream\u流;
//填充内存流
// ...
//将内存中的\u流复制到myfile.txt
std::of流文件(“myfile.txt”);
如果您拥有当前的非标准文件系统设施,那么临时文件方法可能是最好的+1@BaummitAugen如果没有,我会感到惊讶。请看@MaximEgorushkin我知道这不应该是一个问题,但作为一个在工作中编写C90的人,我知道有些人对他们可以使用的东西有奇怪的限制/