|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Mar 2002
Messaggi: 2438
|
in linux il gcc nn ha la libreria conio.h, dove la trovo?
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?
|
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
non c'e', devi usare ncurses:
man ncurses PS: non e' che studi a Verona, vero? |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Mar 2002
Messaggi: 2438
|
no studio a ferrara informatica 2° anno. gazie ora provo.
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Mar 2002
Messaggi: 2438
|
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....!!!! |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
Prova cosi':
scanf("%lf", &var1); considera il val inserito come double ovviamente %lf vale anche per printf |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Mar 2002
Messaggi: 2438
|
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 |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
gcc ... -lncurses
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Mar 2002
Messaggi: 2438
|
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.
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
getch fa parte della libreria standard, non delle ncurses. wgetch fa parte delle ncurses, ma dubito fortemente che sia la funzione che ti serve.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Mar 2002
Messaggi: 2438
|
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 |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Perchè getch fa parte delle ncurses. Evvabbé mi sò sbagliato con getchar
![]()
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Mar 2002
Messaggi: 2438
|
la funzione getch() continua a darmi segmentation fault!!!
nn capisco il xchè! |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Credo che vada usata in congiunzione di aree ncurses. getchar non ti va bene?
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Mar 2002
Messaggi: 2438
|
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!
|
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
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.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:35.