PDA

Visualizza la versione completa : [C]Chiarimento fscanf


Metalmino
10-02-2013, 21:06
Ho un piccolo dubbio ragazzi.
Ho un file .txt da leggere al cui interno, per esempio, ho delle stringhe di questo tipo:
1;amedeo;vado a casa;15
2;non so che dire;bo;16
ecc...
Questo č il codice per esemplificarvi:


FILE* fp;
fp=fopen("asd.txt","r");
while(!feof(fp)){
fscanf(fp,"%d;%256[^;];%256[^;];%d\n",metto nelle variabili, non scrivo per fare prima);}


E fin qui non ci piove. Vorrei sapere perņ come leggere la stringa sino ad un certo punto e non tutta per forza.
Prendendo per esempio la prima riga, se volessi memorizzare solo "1" e "amedeo" escludendo "vado a casa" e "15" per passare direttamente alla seconda riga come dovrei fare?
Idem dicasi se invece vorrei escludere i primi due elementi per leggere gli ultimi due e basta.

Grazie in anticipo ragazzi :)

oregon
10-02-2013, 21:14
No, non puoi.

Puoi leggere tutta la linea in una sola volta (con una fgets e una sola stringa) e poi suddividere i vari campi prendendo quelli che ti servono con la funzione strtok.

Loading