我在这个网站上的第一个问题。另外对C++来说是新的。向量中未知的可变列大小
我一直在寻找一种方法来从文本文件中填充矢量。但是,每行的列大小不同且事先未知。
让我告诉你一个例子,这是文本文件,我想在矢量获得:
3
1 1
1 2
0
(表的含义:有X项目中3个活动,第一个活动1直接前任(活动1),第二个活动也有一个直接前任(活动2),最后一个活动没有前任)。
我想要这个文本文件在一个向量中,但是我有几个类似的文本文件,我需要阅读的列数。
由于我知道每个项目中的活动数量,因此我可以定义行数。但是,我不知道列数...
我现在试过的是使用inFile.good()来查看是否已到达文本文件的末尾。不过,我需要一些东西来看看我是否在行的末尾。我已经有的代码是:
//READING NUMBER OF ACTIVITIES
inFile >> nbr_activities;
cout << nbr_activities << endl;
//READING PRECEDENCE RELATIONSHIP
for (int i = 0; i < nbr_activities; i++)
{
vector<int> temp_vec;
while (inFile.good())
{
int skills;
inFile >> skills;
temp_vec.push_back(skills);
}
precedence_per_activity.push_back(temp_vec);
}
//PRINTING THE VECTOR
for (int i = 0; i < nbr_activities; i++)
{
int j = 0;
while (inFile.good())
{
j++;
cout << precedence_per_activity[i][j] << ' ';
}
cout << endl;
}
但是,这并没有给出好的结果。
任何人都可以帮助我吗?我实在看不出任何解决方案..
'而( inFile.good())'this should''while(inFile >> skills)' – 2015-02-24 12:55:29