PDA

View Full Version : in linux il gcc nn ha la libreria conio.h, dove la trovo?


khri81
30-10-2003, 12:22
allora uso linux x prog. in c, solo che devo fare un prog x l'univ in cui mi serve la funzioni getch() inclusa nella libreria conio.h e quando vado a compilare con il gcc, mi dice che nn trova la libreria conio.h!!! dove la posso trovare? e come faccio ad aggiungerla insieme alle altre?

lovaz
30-10-2003, 12:24
non c'e', devi usare ncurses:

man ncurses

PS: non e' che studi a Verona, vero?

khri81
30-10-2003, 12:28
no studio a ferrara informatica 2° anno. gazie ora provo.

khri81
30-10-2003, 12:39
ascolta ti posso chiedere una cosa? sto scelarando su una cazzata che nn riesco a far funzionare è talmente banale che nn capisco dove sia l'errore!!!

allora io ho sempre usato le var di tipo float x memorizzare numeri decimali, ora xò il prof vuole che usiamo i double, allora facendo questo stupidissimo inserimento:

printf("\n inserisci un numero\n");
scanf("%f", &var1);

io x es. inserisco il numero 2.

mi spieghi xchè se vado a visualizzare il contenuto della var1 con printf magicamente ha il valore 4,93242 ecc....!!!!

lovaz
30-10-2003, 12:48
Prova cosi':
scanf("%lf", &var1);
considera il val inserito come double
ovviamente %lf vale anche per printf

khri81
30-10-2003, 12:54
grazie mille. con %lf ora funziona correttamente!!! grande.

ho un altro probl. allora x getch() ho inserito la libreria curses.h, solo che il compilatore mi restituisce questo errore:

[christian@localhost christian]$ gcc esercizio3.c -o esercizio3
/tmp/ccalXC2O.o: In function `main':
/tmp/ccalXC2O.o(.text+0x2c9): undefined reference to `stdscr'
/tmp/ccalXC2O.o(.text+0x2ce): undefined reference to `wgetch'
collect2: ld returned 1 exit status

ilsensine
30-10-2003, 12:55
gcc ... -lncurses

khri81
30-10-2003, 13:07
ok nn mi da più nessun errore il compilatore, il prob è che ora mi da segmentation fault usando getch, mentre usando scanf funziona tutto correttamente.

ilsensine
30-10-2003, 13:27
getch fa parte della libreria standard, non delle ncurses. wgetch fa parte delle ncurses, ma dubito fortemente che sia la funzione che ti serve.

khri81
30-10-2003, 13:30
e xchè mi da questo errore se fa parte delle librerie standard?

[christian@localhost christian]$ gcc Esercizio4.c -o esercizio4
/tmp/ccuqd3bV.o: In function `main':
/tmp/ccuqd3bV.o(.text+0x17f): undefined reference to `getch'
collect2: ld returned 1 exit status

ilsensine
30-10-2003, 13:31
Perchè getch fa parte delle ncurses. Evvabbé mi sò sbagliato con getchar :D

khri81
30-10-2003, 13:33
la funzione getch() continua a darmi segmentation fault!!!
nn capisco il xchè!

ilsensine
30-10-2003, 13:39
Credo che vada usata in congiunzione di aree ncurses. getchar non ti va bene?

khri81
30-10-2003, 16:22
no il prof vuole solo getch()! mi sa che mi metterò a prog con windows visto che nn ha probl con la libreria conio.h!

ilsensine
30-10-2003, 16:27
Guarda che getchar è equivalente a getch di conio. L'unica differenza è che l'input è bufferizzato per linee (cioè: non leggi nessun carattere finché non premi invio), ma si può cambiare facilmente con termios. Se ti serve ti posso dire come.