Hola. Estoy empezando con C++ y Eclipse no me reconoce las funciones getch() ni cls().
¿Es normal? Gracias.
son de la biblioteca conio.h, eso solo lo tiene dev c++ y se desaprueba su uso
Cita de: momo75 en 13 Enero 2015, 00:43 AM
Hola. Estoy empezando con C++ y Eclipse no me reconoce las funciones getch() ni cls().
¿Es normal? Gracias.
Un poco malo pero yo utilizaría
void BorraPantallas(){
if( system("cls") )
system("clear");
}
Y getchar() para el getch() que generalmente lo reemplaza muy bien.
Lo que pasa es que getch() y cls() son de la biblioteca conio.h, la cual a su vez es propiedad intelectual de Borland (lo que ya explicó engelx). Por lo tanto sólo son admitidas por compiladores compatibles con Borland, y generalmente bajo sistema operativo Windows (se puede emular en Linux también).
Por ello, para asegurar que tu programa funcione todas las plataformas, debes recurrir a funciones estándares, como gecthar() en lugar de getch(), y en el caso de cls() reemplazar como dijo sabee por una orden system equivalente, aunque caemos en el mismo problema de dependencia del Sistema Operativo. Una alternativa siempre compatible es imprimir tantos '\n' como sea necesario para "borrar" la pantalla, que es de hecho lo que hacen cls y clear.
Muchas gracias por la ayuda, ahora funciona perfectamente!