当我启动程序时,这是输出:
-------------------- HASHMAP MANAGEMENT BOOT MENU -------------------------
Would you like to:
(a) create a new hashmap
(b) load an existing one
(q) exit
>
然而,在调试时,这一切都没有显示出来。检查调试时,它确实执行了 printf() 命令,但它只是拒绝让它们显示在控制台中。输入被注册,但输出从未出现。
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文件的名称。我不知道发生了什么...
更新:在Ubuntu 17.04 Clion 2017.2上调试很好用。只是在Windows 10 CLion 2017.3上无法使用。
setbuf
已被弃用,因此任何人都应该使用setvbuf
代替。 - Matzesetvbuf(stdout, NULL, _IONBF, 0);
- Mattwmaster58