Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    106

    Lettura da file per eseguire operazioni su funzione[C++]

    Ciao a tutti,vorrei avere dei chiarimenti riguardo, la lettura da file con la libreria fstream..
    Mettiamo il caso in cui io volessi,leggere da un file un matricola e un numero
    esempio
    codice:
    File.txt
    NAJHJD 3
    SKJHJD 5
    SHUJKF 6
    come dico di leggere dal file fino a quando trova matricole...
    In sostanza credo di dover utilizzare un ciclo,ma come faccio a dirgli quando si deve fermare??
    Potreste spiearmi come funziona il processo di lettura all'interno del file??

    Vi ringrazio..

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Documentazione ed esempi sul web sono tante

    http://codesnippet.biz/c-piu-piu-leg...on-gli-stream/

    http://www.cplusplus.com/reference/iostream/fstream/

    Potreste spiearmi come funziona il processo di lettura all'interno del file??
    All'interno del file? Cioè?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    106
    Originariamente inviato da oregon
    Documentazione ed esempi sul web sono tante

    http://codesnippet.biz/c-piu-piu-leg...on-gli-stream/

    http://www.cplusplus.com/reference/iostream/fstream/
    Adesso vedo un pò...
    All'interno del file? Cioè?
    Intendevo dire come funziona la lettura ,proprio i passi di lettura di ogni valore(a livello meccanico intendo)...
    spero di essere stato più chiaro..

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    106
    sono arrivato a qualcosa di utile..
    nel momento in cui io scrivo..
    codice:
    char a[20];
    int n;
    while(ff>>a){ff>>n;}
    Si ferma fino a quando,non legge tutte e tre le matricole??Ma vengono memorizzati su array differenti??

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Scusa, per capirci, tu hai dubbi sulla lettura dei file o, in generale, sulla programmazione C++?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    106
    nono sulla lettura da file...xchè??
    Magari per cercare di capirci qualcosa sto dicendo str****te,ma per il resto non ho problemi..

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Beh, parlavi di "array differenti" ... di quali array differenti parli se ne hai indicato uno solo?

    E poi, dato che parliamo di C++, è più sensato usare un oggetto string per il dato stringa e uno int per il numerico. E visto che non sai quante sono le righe, o lavori allocando dinamicamente un array o lavori con singole variabili da trattare volta per volta. In più, come da documentazione che ti avevo postato, il ciclo lo puoi scrivere, ad esempio

    codice:
    string nome;
    int matr;
    
    while ( ff.good() )
    {
       ff >> nome >> matr;
    
       cout << nome << " " << matr << endl;
    }
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    106
    E poi, dato che parliamo di C++, è più sensato usare un oggetto string per il dato stringa e uno int per il numerico. E visto che non sai quante sono le righe, o lavori allocando dinamicamente un array o lavori con singole variabili da trattare volta per volta. In più, come da documentazione che ti avevo postato, il ciclo lo puoi scrivere, ad esempio
    Allora io ho letto la soluzione del mio prof,te la posto..all'interno poi viene chiamata un'altra funzione inserimento da me creata,il tutto funziona,ma qualcosa non mi é chiaro ancora.Intendo se volessi utilizzare ciò che ho scritto per qualcosa di più complesso..
    Premetto che é una funzione utilizzata per una classe,che prende dei valori e li inserisci
    codice:
    G::G(const char* nome){  
               char codice[15];
               int esami;
               ifstream f(nome);
               if(!f)
               {
                      cerr<<"File non trovato"<<endl;
                      exit(1);
               }
               while(f>>codice){
                                 f>>esami;
                       inserisci(codice,esami);
                       }
               
               }
    Originariamente inviato da oregon
    Beh, parlavi di "array differenti" ... di quali array differenti parli se ne hai indicato uno solo?
    Io intendevo dire ,visto che viene indicato un solo array come memorizza tutte e 3 le matricole??

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Gianni91
    Allora io ho letto la soluzione del mio prof,te la posto..all'interno poi viene chiamata un'altra funzione inserimento da me creata,il tutto funziona,ma qualcosa non mi é chiaro ancora.Intendo se volessi utilizzare ciò che ho scritto per qualcosa di più complesso..
    Anche questa soluzione va bene, anche se utilizzi un array di char e non un oggetto string (come se lavorassi in C e non in C++).

    A questo punto non capisco il tuo problema ...

    Io intendevo dire ,visto che viene indicato un solo array come memorizza tutte e 3 le matricole??
    Non le memorizza ... ti ho già detto, le legge in variabili che riutilizza di volta in volta nel ciclo.
    Per memorizzarle, ripeto, dato che penso tu non sappia quante sono, devi gestire l'allocazione dinamica di due vettori e usarli nella lettura.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    106
    Originariamente inviato da oregon
    A questo punto non capisco il tuo problema ...
    Il problema che ho scitto qualcosa di più semplice,perché credevo di non aver capito bene il funzionamento della lettura..
    A questo punto ti posto il mio reale problema..


    Non le memorizza ... ti ho già detto, le legge in variabili che riutilizza di volta in volta nel ciclo.
    Per memorizzarle, ripeto, dato che penso tu non sappia quante sono, devi gestire l'allocazione dinamica di due vettori e usarli nella lettura.
    Perfetto era come credevo di aver capito...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.