1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
   |  
void InitializeConsoleStdIO() 
{ 
    // si une console est rattachée au processus, alors il existe des fichiers 
    // virtuel CONIN$ et CONOUT$ qui permettent respectivement de lire 
    // et d'écrire depuis / dans cette console (voir la doc de CreateFile). 
 
#if _MSC_VER >= 1400 // VC++ 8 
    { 
    // éviter le warning C4996: 'freopen' was declared deprecated 
    // This function or variable may be unsafe. Consider using freopen_s instead. 
    FILE *stream; 
    freopen_s( &stream, "CONIN$", "r", stdin ); 
    freopen_s( &stream, "CONOUT$", "w", stdout ); 
    freopen_s( &stream, "CONOUT$", "w", stderr ); 
    } 
#else 
    std::freopen( "CONIN$", "r", stdin ); 
    std::freopen( "CONOUT$", "w", stdout ); 
    std::freopen( "CONOUT$", "w", stderr ); 
#endif 
 
    // la ligne suivante synchronise les flux standards C++ (cin, cout, cerr...) 
    std::ios_base::sync_with_stdio();    
} 
 
    // créer une console 
    ::AllocConsole(); 
    // synchroniser la CRT 
    InitializeConsoleStdIO(); | 
Partager