#include <fstream> int _tmain(int argc, _TCHAR* argv[]) { std::ofstream F("con.txt", std::ios::out); F << "some text in con.txt"; F.close(); return 0; }
输出:
some text in con.txt
如果我用“ con.txt
”replace“ con.txt
”,那么something.txt将包含string“something.txt中的some text in something.txt
”。
我认为文件con.txt与一个控制台文件绑定在第一种情况下发生了什么?
CON
是Windows平台上的保留设备名称 。 它不应该被用作文件名,即使是扩展名。
从文档 :
CON
,PRN
,AUX
,NUL
,COM1
,COM2
,COM3
,COM4
,COM5
,COM6
,COM7
,COM9
,COM9
,LPT1
,LPT2
,LPT3
,LPT4
,LPT5
不要使用以下保留的设备名称,LPT6
,LPT7
,LPT8
和LPT9
。 还要避免这些名字后跟一个扩展名; 例如,不建议使用NUL.txt
。