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();
}