C ++ espera la entrada del usuario

C ++ espera la entrada del usuario

Varias formas de hacerlo, aquí hay algunos posibles enfoques de una sola línea:

  1. Usa getch() (necesita #include <conio.h> ).

  2. Usa getchar() (esperado para Enter , necesita #include <iostream> ).

  3. Usa cin.get() (esperado para Enter , necesita #include <iostream> ).

  4. Usa system("pause") (necesita #include <iostream> ).

    PD:este método también imprimirá Press any key to continue . . . en la pantalla. (parece la elección perfecta para ti :))

Editar: Como se discutió aquí, no existe una solución completamente portátil para esto. La pregunta 19.1 de las preguntas frecuentes de comp.lang.c cubre esto con cierta profundidad, con soluciones para Windows, sistemas similares a Unix e incluso MS-DOS y VMS.


un ciclo do while sería una buena manera de esperar la entrada del usuario. Así:

int main() 
{

 do 
 {
   cout << '\n' << "Press a key to continue...";
 } while (cin.get() != '\n');

 return 0;
}

También puedes usar la función system('PAUSE') pero creo que esto es un poco más lento y depende de la plataforma


No hay una función de biblioteca "estándar" para hacer esto. El estándar (tal vez sorprendentemente) en realidad no reconoce el concepto de "teclado", aunque sí tiene un estándar para "entrada de consola".

Hay varias formas de lograrlo en diferentes sistemas operativos (consulte la solución de herohuyongtao), pero no es portátil en todas las plataformas que admiten la entrada de teclado.

Recuerde que C++ (y C) están diseñados para ser lenguajes que puedan ejecutarse en sistemas integrados que no tienen teclados. (Dicho esto, es posible que un sistema integrado no tenga otros dispositivos compatibles con la biblioteca estándar).

Este asunto ha sido debatido durante mucho tiempo.