Leggere una riga fino al carattere " "

di il
2 risposte

Leggere una riga fino al carattere " "

Ciao, mi serve fare un programma che mi legga da un file txt tutti i caratteri che precedono un carattere (in questo caso ";").

ad esempio il txt sarebbe:

data;città;utente;
data;città;utente;
data;città;utente;

Il programma dovrebbe riconoscere il segno ";", e fermarsi (per poi ripartire dopo di esso).

Per ora legge tutto il file:
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    char riga;
    ifstream file("PERCORSO");

    if(!file){
        cout<<"ERRORE"<<endl;
        return 1;
    }

    while(file.get(riga)){

        cout<<riga;
    }

    file.close();
}
Spero di essermi spiegato bene.
Grazie.

2 Risposte

  • Re: Leggere una riga fino al carattere " "

    Così stai leggendo carattere per carattere e non tutta una riga.

    Usa le stringhe per leggere l'intera linea
    
    	string riga;
    
    	while (getline(file, riga)) {
    		cout << riga << endl;
    	}
    
    e nel ciclo provvedi a separare le 3 parti comprese tra le ; con un codice di "split".
  • Re: Leggere una riga fino al carattere " "

    Giusto! Lo split!
    Me lo ero scordato.

    Grazie, ora sistemo.
Devi accedere o registrarti per scrivere nel forum
2 risposte