windows - con.txt og C ++

Indlæg af Hanne Mølgaard Plasc

Problem



#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;
}


produktion:


some text in con.txt


Hvis jeg erstatter 'con.txt' med 'something.txt' så indeholder noget.txt strengen 'some text in something.txt.'


Jeg tror, ​​at filen con.txt binder sammen med en konsolfil ... Hvad er der virkelig sket i det første tilfælde?

Bedste reference


CON er et reserveret enhedsnavn på Windows-platforme. Det bør ikke bruges som et filnavn, selv med en udvidelse.


Fra dokumentationen: [30]



  Brug ikke følgende forbeholdt
  Enhedsnavne for navnet på en fil:
  CON, PRN, AUX, NUL, COM1, COM2, COM3,
  COM4, COM5, COM6, COM7, COM8, COM9,
  LPT1, LPT2, LPT3, LPT4, LPT5, LPT6,
  LPT7, LPT8 og LPT9. Undgå også disse
  navne fulgt straks af en
  udvidelse; for eksempel er NUL.txt ikke
  anbefales.