Ho questo in un file di testo:C++: Leggere da file di testo e separare in variabile
John 20 30 40
mike 30 20 10
Come faccio a leggere dal file di testo e separarli in nome della variabile, var1, var2, var3. Questo è il mio tentativo, sembra non funzionare. Aiuto per favore.
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
using namespace std;
int main() {
string name,result;
int number1;
ifstream myfile ("marks.txt");
if (myfile.is_open())
{
while (!myfile.eof())
{
getline (myfile,name,'\t');
getline (myfile,var1,'\t');
getline (myfile,var2,'\t');
getline (myfile,var3,'\t');
cout << name << var1 << var2 << var3;
}
myfile.close();
}
else cout << "Unable to open file";
return 0;
}
EDIT 1:
Suggerimento Nocturne:
#include <iostream>
#include <fstream>
#include <sstream>
using namespace std;
int main()
{
ifstream inputFile("marks.txt");
string line;
while (getline(inputFile, line))
{
istringstream ss(line);
string name;
int var1, var2, var3;
ss >> name >> var1 >> var2 >> var3;
cout << name << var1 << var2 << var3 << endl << endl;
}
}
uscita:
John203040
mike302010
302010
Perché un altro 302010 ???
Il file di input è definitivamente delimitato da tabulazioni? Che risultato ottieni? –
sì. la sua scheda delimitata. – diehell
"sembra che non funzioni" non è utile. Si prega di fornire dettagli. – JoshD