Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [C]Chiarimento fscanf

  1. #1

    [C]Chiarimento fscanf

    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:
    codice:
    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

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    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.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.