C ++新手:我的循环应更改字符串,然后将字符串打印到文件中。但是它添加到字符串
|
我已经编写了用于执行计算的C ++代码。代码中有一个循环。在每个循环的结尾,我想:
1)获取时间,计算结果。
2)为文件命名。名称应包含时间。
3)将文件名打印到一个外部文件中。每个新循环应覆盖前一个循环的文件名。
我遇到的第一个问题是我无法删除OLD文件名。因此,当我完成计算时,名称为(例如):
CalculationForRestartFile_0.0005476490.004925880.01763170.04375820
代替:
CalculationForRestartFile_04375820
我已经更新了此问题以纳入Mat的建议。谢谢Mat。但是现在我在外部文件中什么也没得到。谁能看到我要去哪里错了?如有任何建议,我将不胜感激。
// Above loop:
std::string filename = \"calculationForRestartFile_\"; // Part of the file name that ALL files should have
ofstream fileNameAtHighestTimeStream;
std::string convertedToString; // This and the line below:
std::stringstream storeNumberForConversion; // For storing a loop number/time as a string
// Inside loop:
storeNumberForConversion << global_time << flush; // Turn the time/loop number into a string that can be added to the file name for a particular loop
convertedToString = storeNumberForConversion.str();
fileNameAtHighestTimeStream.open (\"externalFile\", ios::out | ios::app );
fileNameAtHighestTimeStream << filename << convertedToString << endl; // Append the time/loop name to the file name and write to the external file
fileNameAtHighestTimeStream.close();
// End loop
没有找到相关结果
已邀请:
2 个回复
捅瓶啡
中。您永远不会重置其内容。
最简单的方法是在循环中移动
的声明,以便在使用它之前将其创建为空。 或者,您可以在格式化操作后将其重置。
凄挡