我在使用ofstream时遇到麻烦,即-当我像这样更改ofstream对象的值时

ofstream o_save;

/*code*/

o_save = ofstream(filename);  //Problem is here

...上面的行完全擦除了文件的内容。

问题是如何合法地更改filename对象的ofstream值?

附言我在声明它时无法定义它,因为我希望它是全局的,而且我不确定我选择哪个保存文件。

最佳答案

这个问题非常模糊和自相矛盾,OP在问了这个问题之后似乎就睡了。因此,我将尝试偷看他的脑袋,并尝试阐述他想要的东西。

对于打开文件,有很多modes。像这样打开它。

ofstream o_value ;
o_value.open("file.txt") ;

如果要保留该文件的原始内容,请使用..
o_value.open("file.txt", ios::app) ;

如果您想稍后关闭它并打开另一个,请使用...关闭
o_value.close() ;

对于ofstream,通常不允许更改文件名。您可以使用rename中的<cstdlib>。您可以使用remove("file.txt")中的<cstdio>删除文件。

关于c++ - 我如何合法地更改ofstream对象的文件名值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13540893/

10-12 03:29