Jeśli projekt jest projektem GUI, konsola nie pojawi się. Aby zamienić projekt na konsolowy należy wejść do panelu właściwości projektu i ustawić:
- W „ linker-> System-> SubSystem ” wartość „ Console (/ SUBSYSTEM: CONSOLE) ”
- W „ C / C ++ -> Preprocessor-> Preprocessor Definitions ” dodaj definicję „ _CONSOLE ”
To rozwiązanie działa tylko wtedy, gdy masz klasyczną metodę „ int main () punkt wejścia ”.
Ale jeśli jesteś taki jak w moim przypadku (projekt openGL), nie musisz edytować właściwości, ponieważ działa to lepiej:
AllocConsole();
freopen("CONIN$", "r",stdin);
freopen("CONOUT$", "w",stdout);
freopen("CONOUT$", "w",stderr);
printf i cout będą działać jak zwykle.
Jeśli wywołasz AllocConsole przed utworzeniem okna, konsola pojawi się za oknem, jeśli wywołasz ją później, pojawi się przed.
Aktualizacja
freopen
jest przestarzały i może być niebezpieczny. Użyj freopen_s
zamiast tego:
FILE* fp;
AllocConsole();
freopen_s(&fp, "CONIN$", "r", stdin);
freopen_s(&fp, "CONOUT$", "w", stdout);
freopen_s(&fp, "CONOUT$", "w", stderr);