¿Los compiladores de C o C++ de hoy usan la función de sistema clrscr
?Función clrscr en C y C++
Respuesta
clrscr()
es una función no estándar (ni mencionado en ISO C99
ni en ISO C++-98
) define en <conio.h>
(que no es en sí compatible con el estándar). Sin embargo, algunos compiladores (como Turbo C/C++) lo admiten como una extensión.
Como todas las cosas en conio.h
. clrscr()
no tiene nada que ver con el estándar C. conio
es una API común de antiguas implementaciones de C basadas en DOS para la consola de nivel inferior - cosas como borrar la pantalla, mover el cursor, leer pulsaciones de teclas individuales, etc. No sé el historia, pero presumiblemente data de antes de que DOS tuviera ANSI.SYS
para admitir códigos de escape de terminal estándar para el posicionamiento del cursor, borrar la pantalla, cambiar colores, ...
Si solo está jugando aprendiendo C, no hay daño en usando las funciones conio
, pero debe evitar hacer un hábito de #include <conio.h>
. En la mayoría de las preguntas que he visto en SO donde se incluyó conio.h
, ni siquiera se usaba ... Este tipo de mal hábito conduce a un código insensible y no portátil.
'conio.h' es (aparte de utilizar las funciones de la API nativas directamente) la única manera de conseguir la entrada Unicode fiable y de salida para el Consola de Windows, por lo que todavía juega un papel hoy. – Philipp
¿No es posible configurar la consola io 'codepage' en UTF-8? No es posible establecer la 'página de códigos ANSI' en UTF-8, pero pensé que Windows permitía UTF-8 en otros contextos. –
Además, como alternativa a conio.h
, puede intentar usar ncurses, que proporciona manejo de terminal, administración de cursor, colores y muchas otras funcionalidades. En particular, proporciona la función clear()
con una funcionalidad similar a la función clrscr()
que mencionó. Para Windows (que debe ser su caso), existe PDCurses que emplea la misma API. En particular, ncurses
cumple con la especificación básica de XSI Curses y es ampliamente adoptado; debe atenerse a ella si importa cualquier grado de portabilidad.
DeathStation 9000 y su compilador ZOG C todavía usan clrscr()
.
cita de http://dialspace.dial.pipex.com/town/green/gfd34/art/
Sería lamentable si alguna más vidas se perdieron simplemente porque algunos programadores sienten una profunda necesidad espiritual de borrar el dispositivo de visualización, y mucho, mucho más, utilizando ZOG C de Comenzar Iniciar (Remote Systems Console Solicitud) función, clrscr().
En los sistemas tipo Unix, puede usar los códigos de escape VT100.
std::cout << "\033[2J" << std::flush;
- 1. Es clrscr(); una función en C++?
- 2. Sustituto de getch(), gotoxy(), delay(), clrscr()
- 3. C# y WUAPI: función BeginDownload
- 4. declaración de la función en C y C++
- 5. función alloca en C
- 6. función izquierda en C#
- 7. utilizando la función de C en C#
- 8. Cómo lograr esta función en C/C++
- 9. Función Malloc en C++
- 10. Función anidada en C
- 11. C++ función en línea?
- 12. Función String.indexOf en C
- 13. srand función en C++
- 14. función printf en c
- 15. función en línea en c
- 16. C# función de puntero en función sobrecargada
- 17. C++ función ifstream y separadores de campo
- 18. Función PV y Porting VB6 a C#
- 19. Plantillas, punteros de función y C++ 0x
- 20. Anulación de función y dominio C++
- 21. Parallel.Foreach C# Pausa y función de parada?
- 22. C++ y destructor llamada de función para
- 23. decoradores de función en C#
- 24. Función de suspensión en C++
- 25. Punteros de función en C#
- 26. eliminar la función en C++
- 27. llamando a la función c desde C#
- 28. función "id" en C++ 0x
- 29. C/C++ función/método de decoración
- 30. Las variables estáticas en C y C++
así que lo que usamos en Linux en lugar de clrscr – dom