2017-12-12 34 views
2

에 출력을 표시하지 않습니다, 이것은 출력됩니다. 디버그를 확인하면 printf() 명령을 수행하지만 콘솔에 표시하는 것을 거부합니다. 입력 레지스터는 출력되지 않습니다.CLion 디버그

int main(void){ 
    bool on = true; 
    char choice = ' '; 
    int status = 0; 
    while(on){ 
     if(status == -1){ 
      printf("\n[ERROR] : HASHMAP NOT INITIALISED\n"); 
     } 
     printf("\n-------------------- HASHMAP MANAGEMENT BOOT MENU -------------------------\n"); 
     printf("Would you like to:\n(a) create a new hashmap\n(b) load an existing one\n(q) exit\n> "); 

     scanf("%c",&choice); 
     ... 
     ... 
    } 
} 

#include을 제외한 코드의 시작 부분입니다. 또한 어떤 이유로 든 CLion이 도움이된다면 내가 작성한 코드는 task2-a.c | Debug입니다. task2-a.c는 빌드중인 C 파일의 이름입니다. 무슨 일이 일어나고 있는지 모르겠다.

업데이트 : 디버깅은 우분투 17.04 Clion 2017.2에서 훌륭하게 작동합니다. Windows 10 Clion 2017.3에서는 작동하지 않습니다.

답변

2

모든 printf 문 또는 출력 전에 setbuf(stdout, 0);을 넣으면이 문제가 해결됩니다.

+1

Windows에서 stdout 버퍼링에 문제가 있습니다.이를 잘 알고 있습니다 (https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000740490-Where-did-the -black-windows-go-? page = 1 # community_comment_115000619510). 여기에 해결 방법을 게시 해 주셔서 감사합니다! –