Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    1

    [C++] Copiare dati da file

    salve a tutti

    premetto che sono un provetto "programmatore" alle prime armi..

    volevo sottoporvi un mio problemino..

    devo creare una funzione che copia i dati di un file in una lista..
    quello che segue e' il codice che sono riuscito a mettere insieme...

    codice:
    struct persona {
           char nome [30];
           char lavoro [20];
           persona *next;
    }
    
    
    persona *archivio (int n)    //creo un nuovo archivio
    {
            persona *p0 = 0;
            persona *p;
            for (int i=0; i<n; i++)
            {
                p = new persona;
                file >> p->nome;        //copio dati
                file >> p->lavoro;
                p->next = p0;
                p0 = p;
            }
                       
            return p0; 
    }
    
    
    void carica ()
    {          
         fstream file;
         file.open ("dati.txt", ios::in);  //apro il file in lettura
         
         if (!file)                        //controllo apertura file
         {
                cout << "Impossibile aprire il file.";
                exit (1);
         }
         
         persona *archivio (n);
              
         file.close ();
    }
    i problemi che mi affliggono sono 2..
    1) come posso trasformare la creazione della lista in un modo dinamico? (quindi evitando di passare n)
    2) come gli faccio capire quando e' arrivato a fine file e di non creare altri nodi?

    :master:

  2. #2
    Non so se ho ben capito il tuo dubbio...

    Ogni volta quando crei un nuovo elemento persona imposta il puntatore next a NULL.

    In questo modo poi per sapere quale è l'ultimo elemento basta che cicli fino a quando elemento->next == NULL

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.