覆盖每个std::ofstream调用的文件内容
Overwritting the content of file on each std::ofstream call
以下代码
#include <fstream>
void print( std::ofstream &f, int a ) {
f << a << 'n';
}
int main () {
std::ofstream fout( "out.txt" );
print( fout, 1 );
print( fout, 2 );
return 0;
}
产生如下输出
1
2
然而,我只想看到2。换句话说,我希望在调用print时覆盖输出文件的内容。
这样做的原因是,我想在间隔中调用更新函数。因此,每次调用update函数时,新的统计数据应该出现在输出文件中(而不是将当前统计数据附加到前一个统计数据中)。
p。S:把fout.clear()
放在两个打印调用之间是行不通的。
只需使用std::ofstream::seekp()
重置print()
调用之间的输出位置
std::ofstream fout( "out.txt" );
print( fout, 1 );
fout.seekp(0); // <<<<
print( fout, 2 );
注意fout.clear()
只是重置流的错误状态。
相关文章:
- 编译多个C++文件.调用二进制文件以运行代码
- 无法从 SO 文件调用 SO 文件的函数 - C++生成文件
- 如何从另一个文件调用类构造函数?
- 调用函数一次用于动态链接库,一次从可执行文件调用函数
- 当我从头文件和实现文件调用我的函数到我的主文件时,我没有得到任何输出
- 从 Android 中的 C 文件调用C++函数
- 从外部文件C++调用函数
- 如何从多个 cpp 文件调用函数
- 从用户定义的头文件调用函数时出现未定义的引用错误,其实现位于.cpp文件中
- cmake:生成批处理文件调用cl.exe
- 在文件中生成随机数,然后从文件调用它们,然后将它们打印出来
- main.cpp从 .h 文件调用公共虚拟方法
- 如何从 python (py) 文件调用 C++ 函数
- 如何从 cpp 文件调用 setRequestOrientation()
- 调试Visual Studio中可执行文件调用的C 文件
- 可以使用不同的头文件调用相同的函数吗?
- 从 Android 中的原生 c++ 文件调用本机 opencv
- 使用对象文件调用Winapi功能
- 从头文件调用字符串getter函数
- 方法从头文件调用