Tôi có điều này trong một file văn bản:C++: Đọc từ tập tin văn bản và phân chia thành biến
John 20 30 40
mike 30 20 10
Làm thế nào để tôi đọc từ tập tin văn bản và tách chúng thành các tên biến, var1, var2, var3. Đây là nỗ lực của tôi, có vẻ như nó không hoạt động. Xin vui lòng giúp đỡ.
#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:
Nocturne Góp ý:
#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;
}
}
đầu ra:
John203040
mike302010
302010
Tại sao 302.010 khác ???
Tệp đầu vào của bạn có được phân tách bằng tab không? Bạn nhận được kết quả gì? –
yea. tab được phân tách. – diehell
"có vẻ như nó không hoạt động" không hữu ích. Xin cho biết chi tiết. – JoshD