ventana que pause pausa evitar ejecutar dev consola cierre cierra c++ windows console

que - pausa en c++



¿Pausa de la consola en C++? (4)

En C # puede hacer que la consola espere a que ingrese un carácter (lo que es útil para poder ver las últimas salidas de una consola antes de que el programa salga). Como principiante en C ++, no estoy seguro de cuál es el equivalente. Hay uno


La forma más sencilla es simplemente:

std::cin.get();

Puedes imprimir algo como "Presiona cualquier tecla para continuar ..." antes de eso. Algunas personas te hablarán de

system("pause");

Pero no lo uses. No es portátil.


La solución incorrecta sería usar el system("pause") ya que esto crea agujeros de seguridad (¡pause.exe malicioso en el directorio!) Y no es multiplataforma (la pausa solo existe en Windows / DOS).

Hay una solución más simple:

void myPause() { printf("Press any key to continue . . ."); getchar(); }

Esto utiliza getchar() , que es compatible con POSIX (ver this ). Puedes usar esta función así:

int main() { ... myPause(); }

Esto evita efectivamente que la consola parpadee y luego salga.


No hay nada en el estándar, y nada multiplataforma. El método habitual es esperar a que se presione <Entrar>, luego descartar el resultado.


#include <stdio.h> // ... getchar();

La función espera una sola pulsación de tecla y devuelve su valor (entero).

Por ejemplo, tengo una función que hace lo mismo que System("pause") , pero sin requerir que "pause.exe" (que es un conjunto de seguridad potencial, por cierto):

void pause() { std::cout << std::endl << "Press any key to continue..."; getchar(); }