Estoy tratando de mantener la pantalla en mi salida utilizando el archivo de cabecera <iostream.h>
, pero yo no conozco a ninguna función equivalente a las getch()
& clrscr()
funciones de <conio.h>
en <iostream.h>
o cualquier otra biblioteca de C++. ¿Hay alguna de esas funciones?Función alternativa en iostream.h para getch() de conio.h?
Respuesta
si trabaja en Windows puede usar el sistema ("pausa"), esto le dará un mensaje "presione cualquier tecla para continuar".
getch() y clrscr() funcionarán con C++. Incluir conio.h
Sin embargo, si usted no puede (por alguna razón) incluyen conio.h,
¿qué hay de cin >> dummy_var con un mensaje en la pantalla que pide al usuario que pulse entrar?
-1, porque conio.h no es parte del estándar C. –
+1 porque la mayoría de las cosas interesantes que puede hacer con C y C++ en realidad no están en el estándar. Ninguno de los estándares está destinado a ser completo, y el hecho de que puede incluir encabezados distintos a los obligatorios por norma es mucho por diseño. – MSalters
Las funciones conio.h son extensiones de compilador del lenguaje, no parte de C o C++. No hay un reemplazo directo en C++ estándar.
Para getch(), int ch = std::cin.get();
es probablemente el equivalente más cercano, pero tenga en cuenta que esto leerá de la entrada estándar almacenada, mientras que creo que el conio.h getch realiza una lectura sin búfer.
Cualquier implementación de clrscr() va a ser muy dependiente de la plataforma: no todas las pantallas o terminales tienen una noción de limpieza, y aquellos que sí tienen formas muy diferentes de acceder a esa funcionalidad.
Si necesita tratar la terminal como algo más que un conjunto de secuencias de caracteres, su mejor opción es buscar una biblioteca que oculte los detalles de la terminal, pantalla o consola subyacente. Si tienes un sistema UNIXish, mira la biblioteca de curses o ncurses; No sé de ninguna sugerencia para otros sistemas operativos.
simplemente use cin.get();
Puede usar el sistema ("pausa"), que genera el mensaje "presione cualquier tecla para continuar". Pero funciona solo en el entorno de Windows. Creo que todos los comandos del "sistema" son dos comandos. corrígeme si estoy equivocado
Estás a medio camino a la derecha. 'system (
@Kokizzu: 'pausa: comando no encontrado' –
sólo tiene que utilizar estas dos funciones:
fflush(stdin);
getchar();
Visual Studio y Dev C++ incluyen esto en su cabecera iostream
así que no hay necesidad de incluir el archivo de cabecera adicional.
http://stackoverflow.com/a/257203/183120 ' fflush (stdin) 'comportamiento indefinido invocado en el estándar C 7.18.5.2/2. – legends2k
Última respuesta, puede usar std::cin.get()
, esto debería funcionar con la mayoría de los compiladores. Si eso no funciona, intente agregar otro.
int main() {
// ...
std::cin.get();
std::cin.get();
return 0x00;
}
Usando system("PAUSE")
sólo está disponible en Windows y es un bad programación habit. La razón de esto es que literalmente hace una pausa o congela su programa en lugar de simplemente esperar una entrada. es decir. una tecla para salir.
Esto es lo que suelo usar:
#include<iostream>
...
std::getchar();
entiendo que esta es una vieja pregunta, pero voy a responder, sin embargo, porque las personas pueden estar buscando una respuesta a una pregunta similar.
conio.h
es una biblioteca (antigua) de Windows y MS-DOS/PC-DOS C que se usó, y todavía se utiliza, para la entrada y manejo básicos del teclado en un entorno Windows/DOS.
Ambos getch()
y clrscr()
son adiciones no estándar por este encabezado, y deben evitarse cuando sea posible para las funciones C estándar. getch()
generalmente se puede reemplazar con scanf()
, fread()
, en C y std::cin
y std::cin.get
en C++. En cuanto a clrscr()
, el más cercano que puedes conseguir es:
for(int i = 0; i < 100; i++)
{
printf("\n");
}
O:
También ncurses.h
está en entornos * nix. Here's a link para obtener información sobre eso.
- 1. ¿Cómo implementar la función getch() de C en Linux?
- 2. Función alternativa para pegar
- 3. getch está en desuso
- 4. ¿Qué es equivalente a getch() y getche() en Linux?
- 5. Equivalente a Windows getch() para bloqueos Mac/Linux
- 6. Dónde conseguir iostream.h
- 7. Reemplazo de <conio.h> en Linux
- 8. bloqueo getch no()
- 9. alternativa para la función de reposo
- 10. getch sin bloqueo(), ncurses
- 11. Alternativa para la función "$ (documento) .ready"
- 12. getch y códigos de flecha
- 13. Diferencia entre iostream y iostream.h
- 14. alternativa de C# para la función de escape de JavaScript
- 15. Alternativa para la función PHP en desuso: eregi_replace
- 16. ¿Función alternativa al modo Scipy en Numpy?
- 17. ¿Hay alguna alternativa para la función date_parse para php 5.1. *?
- 18. Sustituto de getch(), gotoxy(), delay(), clrscr()
- 19. iostream.h, fstream.h no se puede encontrar
- 20. g ++ conio.h: no existe tal archivo o directorio
- 21. mysql_insert_id alternativa para postgresql
- 22. vinculando <iostream.h> en Linux usando gcc
- 23. alternativa para scipy.stats.norm.pdf?
- 24. ¿Hay alguna alternativa para dormir() en C?
- 25. ¿Existe una función de suspensión alternativa en C a milisegundos?
- 26. Little Schemer eqlist? función - versión alternativa?
- 27. Javascript - SyntaxError captura y ejecutar función alternativa
- 28. ¿Alternativa para atrapar en D?
- 29. ¿Hay una alternativa para morir?
- 30. alternativa para el __proto__ en desuso
En C++, la cabecera es simplemente '#include', ** no ** '#include ' ' –
GManNickG
En realidad, siempre me he preguntado y quería preguntar por qué algunas personas siempre comienzan un programa con clrscr() y terminan con getch() en primer lugar. – UncleBens