Lettura da file con eclipse

di il
4 risposte

Lettura da file con eclipse

Buongiorno a tutti,
sto utilizzando eclipse per programmare in C++. Devo creare un programma che legge dei log da un file di testo.
Questo è quanto ho scritto:

#include <iostream>
#include <fstream>

using namespace std;

int main() {
ifstream f("queries.txt");
string s;

if(!f) {
cout <<"Errore nell'apertura del file";
return -1;
}

while(f.good())
{
getline(f, s); //legge tutta la riga dal file e la mette nella variabile s
cout<<s<<endl;
}
f.close(); //chiude il file


return 0;
}

Mi da sempre errore apertura file..ma il file .txt dove devo salvarlo? cosa sbaglio? Grazie in anticipo a chiunque risponderà =)

4 Risposte

  • Re: Lettura da file con eclipse

    Prova a cambiare
    
    if(!f) {
    
    in
    
    if ( ! f.is_open() ) {
    
    e usa i tag code perfavore
  • Re: Lettura da file con eclipse

    Ho provato ma continua ad entrare nel primo if ... Credo sia un problema di file è come se fosse vuoto quando invece non lo è..=(
  • Re: Lettura da file con eclipse

    Senza specificare un path, il programma si aspetta il file.txt nella stessa directory dell'eseguibile, che può non coincidere con la directory dove ci sono i sorgenti. Specifica l'intero path per evitare problemi (o cerca in qualche sottodirectory debug o similare).
    
    if (!f) // etc
    
    va più che bene, mentre non va molto bene
    
    while(f.good())
    {
    getline(f, s); //legge tutta la riga dal file e la mette nella variabile s
    cout<<s<<endl;
    }
    
    in quanto stamperebbe due volte l'ultima riga.
    Il modo canonico è:
    
    while(getline(f,s))
    {
    cout<<s<<endl;
    }
    
  • Re: Lettura da file con eclipse

    Grazie mille!
Devi accedere o registrarti per scrivere nel forum
4 risposte