Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    17

    Problema Lettura File

    Ciao a tutti , io avrei un piccolo problema e sussiste in questo , sto leggendo un file con fscaf dentro un ciclo for , dentro di esso c'è un if che quando si verifica esce dal ciclo poi subito dopo che esce dal ciclo for, devo andare ha leggere la riga precendente del file , ha quando si e verificata l'uscita dal for, qualcuno di voi sa come fare? e molto urgente

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Sarà urgente ma non si è capito nulla ...

    Rispiega e fai vedere il codice ...

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    17
    il codice e questo

    for(I=1;i<=20;I++)
    {
    fscanf(fileASP,"%lf %lf %lf\n",&D[1],&D[2],&D[4]); fgets(RigaVuota,80,fileASP);
    if(D[1]==5) break;
    }
    qui ci deve essere l'istruzione che torna indietro nel file di una riga ,dal punto
    in cui si e verificata l'uscita dal for.
    Spero che sia chiaro adesso

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    1) non è possibile utilizzare la variabile i e I nel ciclo ... sono diverse ... ma sara' una svista ...

    2) se ho capito, potresti scrivere

    codice:
    for(i=1;i<=20;i++)
    { 
       fscanf(fileASP, "%lf %lf %lf\n",&D[1],&D[2],&D[4]); 
       if(D[1]==5) break;
       fgets(RigaVuota,80,fileASP);
    }
    fgets(RigaVuota,80,fileASP);
    NOTA che ho invertito le due righe all'interno del ciclo ...

    Pero', se carichi le righe in un vettore, all'uscita del ciclo hai gia' la riga "precedente" già in memoria e disponibile ...

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    17
    Grazie e poi ti volevo chiedere u'altra cosa , siccome ho un altro problema con i file, ed è quello che io leggo 3 volte dentro un file , usando;
    questo e il codice:
    fscanf(fileASP,"%lf %lf\n",&D[1],&D[2]); // 1 lettura
    fscanf(fileASP,"%lf %lf\n",&D[1],&D[2]); // 2 lettura
    fscanf(fileASP,"%lf %lf\n",&D[1],&D[2]); // 3 lettura

    poi dopo l'ultima lettura cioè la 3 lettura, devo tornare a leggere la riga precedente ad essa
    questo come lo faccio ?

    grazie

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    Il linguaggio va specificato anche nel titolo.
    Questo lo modifico io.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da JVins
    Grazie e poi ti volevo chiedere u'altra cosa , siccome ho un altro problema con i file, ed è quello che io leggo 3 volte dentro un file , usando;
    questo e il codice:
    fscanf(fileASP,"%lf %lf\n",&D[1],&D[2]); // 1 lettura
    fscanf(fileASP,"%lf %lf\n",&D[1],&D[2]); // 2 lettura
    fscanf(fileASP,"%lf %lf\n",&D[1],&D[2]); // 3 lettura

    poi dopo l'ultima lettura cioè la 3 lettura, devo tornare a leggere la riga precedente ad essa
    questo come lo faccio ?

    grazie
    Potresti farlo usando la fseek ma i dati di tale riga li potresti conservare in memoria ... perche' non lo fai?

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.