con.txt和C++

mr.*_*sky 9 c++ windows fileoutputstream

#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;
}
Run Code Online (Sandbox Code Playgroud)

输出:

some text in con.txt
Run Code Online (Sandbox Code Playgroud)

如果我用" con.txt" 替换" ",something.txt那么something.txt将包含字符串" some text in something.txt."

我认为文件con.txt与控制台文件绑定...在第一种情况下真的发生了什么?

Fré*_*idi 22

CON是Windows平台上的保留设备名称.即使使用扩展名,也不应将其用作文件名.

文档:

不要为一个文件的名称使用下面的保留设备名称: CON,PRN,AUX,NUL,COM1,COM2,COM3, COM4,COM5,COM6,COM7,COM8,COM9, LPT1,LPT2,LPT3,LPT4,LPT5,LPT6, LPT7,LPT8,和LPT9.还要避免使用这些名称,然后立即进行扩展; 例如,NUL.txt不推荐.