#include<iostream>
using namespace std;
int a = cin.get();
int main(){
cout << "hoa" << endl;
if(!a) {
while(1){
cout << "hola" << endl;
}
}
}
Una de las variaciones es esta, no entiendo pq no sale "hoa", hasta que se aprete enter, igual que nunca sale "hola".
Porque usando cin.get de esa forma, incluso si pones un 0, el valor del entero no sera 0, si no 48. Por lo tanto nunca cumplís la condición del if.
int a = getchar();
if(!a)
{
while(1); // faltaba ";"
}
Sucede lo mismo que en el código anterior.
#include "stdafx.h"//No se necesita el header precompilado en este caso
int main()
{
while(getchar())
{
printf("test\n");
}
return 0;
}
Eso es mas bien lo contrario. Imprimirías test solo si se presiona enter, incluso si presionas varios caracteres y luego enter, se imprimirá tantas veces como datos queden en el buffer de entrada.
Me urge mucho resolver este tema!!! Vereis, quiero hacer un bucle infinito en C con un while(), que se finalize cuando el usuario pulse enter. Como puedo hacerlo?
Para hacer lo que quieres hacer, necesitas usar funciones especificas de cada sistema, por lo tanto, primero tienes que aclarar en que sistema estas trabajando. Igualmente en el foro hay varios ejemplos que te pueden servir.
Saludos