|
|
|
![]() |
|
Strumenti |
![]() |
#21 |
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
Non lettera+invio, semplicemente lettera
![]() Sono sicuro che esiste una funzione per prendere un carattere |
![]() |
![]() |
![]() |
#22 | |
Senior Member
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
|
Quote:
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 D0@4.1ghz / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult. |
|
![]() |
![]() |
![]() |
#23 | |
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
Quote:
|
|
![]() |
![]() |
![]() |
#24 | |
Senior Member
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
|
Quote:
![]() Una funzione c'è... ma nn è na vera e propria funzione, fa parte dell'uso di un po' di codice assembly che permette la lettura delle lettere appena digitate... Spero di aver capito bene... Intendevi questo?
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 D0@4.1ghz / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult. |
|
![]() |
![]() |
![]() |
#25 |
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
In effetti ho controllato che la fgetc non fa quello che dicevo, ma mi sembra di ricordare che esistesse una funzione che lo fa...
Bisognerebbe guardare nelle ncurses ![]() |
![]() |
![]() |
![]() |
#26 | |
Senior Member
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
|
Quote:
Quelle gestiscono il video, niente di +. Almeno per quello che ricordo ora...
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 D0@4.1ghz / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult. |
|
![]() |
![]() |
![]() |
#27 |
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
Gestisce anche l'input, fai un man getch
|
![]() |
![]() |
![]() |
#28 | |
Senior Member
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
|
Quote:
Non fa quella cosa che dicevi tu... ![]()
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 D0@4.1ghz / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult. |
|
![]() |
![]() |
![]() |
#29 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Se sono più di 10 non ritorna NULL !!! Almeno a me... proprio su questo si basa il mio programma... |
|
![]() |
![]() |
![]() |
#30 | |
Senior Member
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
|
Quote:
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 D0@4.1ghz / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult. |
|
![]() |
![]() |
![]() |
#31 |
Senior Member
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
|
chiedo pardon...
![]()
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 D0@4.1ghz / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult. |
![]() |
![]() |
![]() |
#32 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Allora che vi pare ?
|
![]() |
![]() |
![]() |
#33 | |
Senior Member
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
|
Quote:
![]()
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 D0@4.1ghz / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult. |
|
![]() |
![]() |
![]() |
#34 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
L'unico modo sarebbe abbinare l'uso di realloc alla fgets, ma la realloc è molto scomoda...visto che praticamente mai può lavorare nelle condizioni ottimali, ma deve spesso cercare uno spazio contiguo adatto a contenere la nuova stringa ridimensionata per poi copiarvi il contenuto dalla locazione originale... Magari usando realloc si ha il vantaggio di continuare ad usare un puntatore a char per la lettura del contenuto della stringa... Comunque l'idea della lista di stringhe mi piaceva...
|
![]() |
![]() |
![]() |
#35 |
Senior Member
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
|
E' vero (anche se relativamente, l'heap è comunque piazzata nei gap della memoria non utilizzati), ma poi finisce che ti devi scrivere una libreria solo per gestire la lista...
Comunque è ok ![]()
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 D0@4.1ghz / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult. |
![]() |
![]() |
![]() |
#36 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Chiaro che dipende da ciò per cui ti serve... Se si tratta di fare semplice I/O allora va bene così... Se si tratta di manipolare le stringhe basta modificare il codice per usare realloc...
Codice:
char *read(FILE *f = stdin) { char *str = (char *)malloc(sizeof(char)*VARSTR_LEN); while(1) { if(!fgets(str, VARSTR_LEN, f)) { fprintf(stderr, "fgets error\n"); free(str); return NULL; } if(strlen(str) < (VARSTR_LEN-1) || str[VARSTR_LEN-2] == '\n') { str[strlen(str)-1] = '\0'; return str; } else { if(!(str = (char *)realloc(str, (strlen(str) + 100)*sizeof(char))) return NULL; } } } |
![]() |
![]() |
![]() |
#37 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
![]() |
![]() |
![]() |
#38 |
Senior Member
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
|
hehehe ok chiudiamola qui. Sono d'accordo.
Ma converrai con me che in ogni caso, la lunghezza di una stringa non sarà mai troppo grande da risultare un problema... Certe problematiche prestazionali in termini di spazio utilizzato e velocità di accesso sono ininfluenti nella pratica. ![]()
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 D0@4.1ghz / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult. |
![]() |
![]() |
![]() |
#39 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:58.