(每行中的整数数相同,但未知)
所以我可能有这样的文件:
title1 34 98 title2 15 9 title3 45 15
或
title1 34 98 76 97 title2 15 9 43 8 title3 45 15 34 7
或......
struct elem
{
char d[50];
int v[50];
};
我尝试了这个并且它编译但不起作用
char ch;
elem col[10];
int num,z=0;
//z-nr of lines, num -nr of int values in the line
ifstream myfile("t2.txt");
if (myfile.is_open())
{
while (myfile.good())
{
myfile>>col[z].d;
num=0;
myfile.get(ch);
while(ch!='\n')
{
myfile>>col[z].v[num];
myfile.get(ch);
num++;
}
z++;
}
myfile.close();
}
程序'挂起' (没有回应的状态)
答案 0 :(得分:5)
你可以试试这个:
string line;
ifstream myfile("t2.txt");
if (myfile.is_open()) {
while (getline(myfile, line)) {
istringstream iss(line);
iss >> col[z].d;
int x;
num = 0;
while (iss >> x) {
col[z].v[num] = x;
num++;
}
z++;
}
}