|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Dec 2003
Città: Napoli
Messaggi: 142
|
[C] Leggere dallo stdin carattere per carattere
Ho scritto una funziona che legge e analizza una riga di un testo da uno stream a file.
La funzione ha questo prototipo void ParseRule(FILE *Pfin, char *c, GNODE **Grafo); Dopo aver analizzato tutte le righe del file di testo, ho necessità di utilizzare la stessa funzione con dei dati in input e ho notato che se chiamo la funzione passando come primo parametro "stdin" il programma funziona perfettamente fermandosi e dando la possibilità all'utente di inserire i dati dallo standard input. E' corretto gestire lo standard input in questo modo? La domanda mi sorge perché la funzione analizza lo stream leggendolo carattere per carattere con uno fscanf(stream,"%c",&c) fino al carattere di "a capo". Posso avere problemi con il buffer dello stdin o ci sono particolari controindicazioni per questo procedimento? Grazie a tutti
__________________
Ho concluso trattative positivamente con: Sirio, SchumyFast, ST3P, maupap, chrisp, BloodFlowers, Polvere, creature. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
E' perfettamente lecito. la scanf in realtà chiama fscanf con il primo parametro a stdin.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:51.


















