con.txt和C ++

#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平台上的保留设备名称 。 它不应该被用作文件名,即使是扩展名。

从文档 :

CONPRNAUXNULCOM1COM2COM3COM4COM5COM6COM7COM9COM9LPT1LPT2LPT3LPT4LPT5不要使用以下保留的设备名称, LPT6LPT7LPT8LPT9 。 还要避免这些名字后跟一个扩展名; 例如,不建议使用NUL.txt