Inicio arrow Opciones del Foro
 


<< Inicio < Anterior 1 2 Siguiente > Final >>
Función getch() en gcc - 2004/10/13 13:36 Hola, con la duda existencial, he estado trabajando en la escuela programando en C, y en los ejemplos usamos la función getch(), por supuesto en la escuela tenemos Windows con Turbo C para programar, mi problema es que los programas que tienen la función getch() si se compilan, pero en mi caja Linux no, tengo gcc-3.3.3-7 y gcc-c++-3.3.3-7:

Este es el código, es un ejemplo muy sencillo:

Code:

  #include<stdio.h> int x,y,res; int main () {       printf("Introduce un numero:\n"«»);         scanf("%d", &x);         printf("\nIntroduce el segundo numero:\n"«»);         scanf("%d", &y);         res=x+y;         printf("\nEl resultado de %d y %d es: %d",x,y,res);         getch(); }



Y el error me que marca es este

Code:

  gcc prg1.-o prg1 prg1.cEn function `int main()': prg1.c:10: error: `getch undeclared (first use this function) prg1.c:10error: (Each undeclared identifier is reported only once for each    function it appears in.)



¿Alguien sabe porque no reconoce la función getch()?. El mismo código si se compila en Turbo C.
  | | The administrator has disabled public write access.
Re:Función getch() en gcc - 2004/10/14 08:35 Está raro... lo has intentado con getche() o getchar() ? Tal vez haya un problema al tratar de vincular las librerías.
  | | The administrator has disabled public write access.
Re:Función getch() en gcc - 2004/10/14 11:38 No sé me da la impresión que no es por el getche(), creo que lo que pasa es que estas trabajando con una función que debe devolver o retornar un dato int.

Además tambien me parece muy raro que retornes un valor en el main(), este por lo general es nulo nooo???

Espero te sirva de algo.
  | | The administrator has disabled public write access.
Re:Función getch() en gcc - 2004/10/14 12:16 Hola, ya intenté con getche y getchar y lo mismo, al parecer no encuentra la librería, y con respecto al int main(), curiosamente si pongo void mail(), el compilador me regresa este error:

Code:

 gcc prg1.-o prg1 prg1.C:5error: `main' must return `int' prg1.C: En function `int main(...)': prg1.C:12error: `getch' undeclared (first use this function) prg1.C:12: error: (Each undeclared identifier is reported only once for each    function it appears in.)



Si quito el dichoso getch() todo funciona bien, aunque la duda sigue en pie...
  | | The administrator has disabled public write access.
No existe CONIO.H en LINUX - 2004/10/14 12:17 Hola Que tal HGARCIA

Mira el problema es que la libreria CONIO.H es una extensión de BorlandC, dicha libreria no existe en linux sin embargo hay una libreria que se llama CURSES.H en linux, que tiene la función GETCH().

aqui hay un ejemplo de como utilizar esa función y la forma en que debes compilar tu programa.


PROGRAMA :

#include <curses.h>
#include <stdio.h>

int main()
{
int caract;

if (initscr()) {
timeout(-1);
caract = getch();
endwin();
printf("LEIDO !!! => %c", caract);
} else{
printf("PROBLEMAS !!!!!!!!! ";
}

return 0;
}

COMPILACIÓN

gcc -lcurses -o archivo_ejecutable archivo_fuente


Espero te sirva para futuros programas que realices.

Cualquier duda comentario o aclaración no dudes en contactarme.
  | | The administrator has disabled public write access.
Re:Función getch() en gcc - 2004/10/14 12:25 Claro que abejas... si no tienes declarada la libreria que contiene la función... por como va a poder definirla...
  | | The administrator has disabled public write access.
<< Inicio < Anterior 1 2 Siguiente > Final >>

Foros de soporte