我在這個網站上的第一個問題。另外對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