Visualizzazione dei risultati da 1 a 6 su 6

Visualizzazione discussione

  1. #2
    Utente di HTML.it
    Registrato dal
    Nov 2015
    Messaggi
    32
    Quote Originariamente inviata da Mrhide1 Visualizza il messaggio
    Ciao a tutti.
    Non riesco a stampare un'array di stringhe da file, in pratica ho scritto nel file di testo semplicemente tre righi di tre lettere l'una (es. asd,fgh.jkl) e dopo svariati tentativi riesco solo a stampare la prima riga ossia "asd".Il codice è questo ma credo ci manchi nel While un file.getline per poter stampare i righi successivi al primo,tuttavia ho provato a inserirlo ma non mi stampa niente.

    codice:
    #include <iostream>#include <fstream>
    #include <string.h>
    
    
    using namespace std;
    
    
    int main ()
    {
        char vet[3];
        
        string s;
        
        ifstream file;
        file.open ("dati.txt",ios::in);
        if(!file)
        {
            cout << "errore apertura file";
            return(1);
        }
        
        int i=0;
        while (!file.eof())
        {
            
            file >> vet[i];
            i++;
            
        }
        
        
        for (int i=0;i<3;i++)
        {
            cout <<vet[i];
        }
        
        file.close();
        cout << "\n\n";
        system("pause");
    
    }
    Sinceramente non so come sia definito il tipo predefinito string dalla libreria string.h ... io in genere attraverso il typedef dichiaro prima un vettore di caratteri e poi un vettore di stringhe :
    codice:
    #include <iostream>
    #include <fstream>
    #include <string.h>
    using namespace std;
    int main ()
    {   //Parte Dichiarativa
        typedef char VettoreCaratteri[256];
        typedef VettoreCaratteri VettoreStringhe[20];
        VettoreStringhe    s;
        int i=0;
        ifstream file;
        //Parte Esecutiva
        file.open ("dati.txt",ios::in);
        if(!file)
        {    
            cout << "errore apertura file";
            return(1);
        }
        while (!file.eof())
        {     file>>s[i];
              i++;
        }
        for (int i=0;i<3;i++)
        cout <<s[i]<<endl;
        file.close();
        cout << "\n\n";
        system("pause");
    }
    E funziona bene così, fammi sapere se è tutto chiaro o magari aspettiamo anche il parere dei piu' esperti , saluti
    Ultima modifica di Warioss; 28-12-2015 a 22:19

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.