|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2688
|
[C] Precisazione circa fscanf()
Ciao, potete darmi qualche chiarimento sulla funzione fscanf() ?
Ma particamente se io ho: fscanf(stdin, "%s%d", s, &t); stdin indica lo standard input che nel file system del C può essere visto in maniera astratta come un file? ma potete darmi qualche informazione più precisa relativamente allo stream? Cioè sei io faccio: FILE *fp; fopen("prova.dat", "w") stò dichiarando un puntatore di tipo file cioè un puntatore ad una locazione di memoria che contiene determinate informazioni sul file in questione come: nome, stato, posizione corrente nel file e con fopen() apro uno stream e lo colelgo a tale file.... potete darmi maggiori informazioni circa il significato di aprire un stream e collegarlo a un file a livello teorico (a livello pratico è abbastanza banale mi pare..perchè posso vederlo semplicemente come apro un file e ci metto o ci leggo roba dentro senza troppe paranoie se il file è quello che uno considera normalmente un file o se è un dispositivo) ma nel caso di fscanf(stdin, "%s%d", s, &t); dove viene apero lo stream? cioè non faccio fopen()...lo apre all'interno di fscanf? mmm forse mi stò facendo troppe paranoie inutili...booo |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2000
Città: MILANO
Messaggi: 2662
|
mmmh non so se ho capito quello che ti confonde ma il discorso è che lo stdin è collegata alla tastiera che è uno stream già aperto - spero di non sbagliare ma ste cose è un po' che non le uso -. tu puoi anche aprire effettivamente un file su disco e reindirizzare lo stdin su quello. a quel punto ogni scanf (stdin ... ) agisce sul file che hai dovuto effettivamente aprire. stessa cosa per lo stdout che è il video. così mi ricordo.
Ultima modifica di Black imp : 12-07-2006 alle 23:01. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:45.



















