ENBYSS
Cuando inicio el programa, esta es la salida:
-------------------- HASHMAP MANAGEMENT BOOT MENU -------------------------
Would you like to:
(a) create a new hashmap
(b) load an existing one
(q) exit
>
Sin embargo, al depurar, nada de esto aparece. Al verificar la depuración, revisa los comandos printf(), pero simplemente se niega a dejar que aparezcan en la consola. La entrada registra, pero la salida nunca llega.
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);
...
...
}
}
Así queda el inicio del código, excluyendo todos los #include
s. Además, por alguna razón, CLion dice que el código que estoy creando es task2-a.c | Debug
si te sirve de ayuda task2-ac es el nombre del archivo C que se está construyendo. no se que pasa…
Actualización: la depuración funciona muy bien en Ubuntu 17.04 Clion 2017.2. Simplemente no funciona en Windows 10 CLion 2017.3.
Poniendo setbuf(stdout, 0);
antes de que ocurra cualquier instrucción printf o cualquier salida, se solucionó este problema.
-
De hecho, hay un problema con el almacenamiento en búfer de salida estándar en Windows, somos conscientes de ello (intellij-support.jetbrains.com/hc/en-us/community/posts/…). ¡Gracias por publicar la solución aquí!
– Eldar Abusalimov
14 de diciembre de 2017 a las 9:46
-
@EldarAbusalimov Parece que el problema aún existe en CLion 2019.3; Como nota al margen,
setbuf
está en desuso, por lo que cualquiera debería usarsetvbuf
en cambio.– Matzé
20 de enero de 2020 a las 15:38
-
depende. setbuf parece estar funcionando todavía. y está funcionando bien.
– Oleg Kokorin
5 de mayo de 2021 a las 12:07
-
usa setvbuf así:
setvbuf(stdout, NULL, _IONBF, 0);
– Mattwmaster58
16/09/2021 a las 20:10
Si no desea utilizar la consola integrada de clion, puede resolver el problema cambiando el depurador predeterminado utilizado por clion.
Por debajo Settings => Toolchain => <your compiler> => Debugger
cambie GDB incluido al depurador de su compilador, por ejemplo, MinGW: