如何從文件中讀取數據,如果我的文件是這樣的用逗號分隔值用逗號分隔值
1, 2, 3, 4, 5\n
6, 7, 8, 9, 10\n
\n
和讀取文件後,我要如何讀取寫入/從文本文件將數據以上面相同的格式寫回到其他文件中。
我可以得到線的總數量,使用
string line;
while(!file.eof()){
getline(file,line);
numlines++;
}
numline--; // remove the last empty line
,但我怎麼能知道行/線總的數字位數?
我也有整數矢量來存儲數據。 因此,我想讀取第一行,然後計算該行中的元素總數,這裏是5(1,2,3,4,5),並將它們存儲在數組/矢量中,然後讀取下一行並將它們存儲在再次導航,直到我到達EOF。
然後,我想將數據寫入到文件,再次,我想這會做將數據寫入到文件的工作,
numOfCols=1;
for(int i = 0; i < vector.size(); i++)
{
file << vector.at(i);
if((numOfCols<5) file << ",";//print comma (,)
if((i+1)%5==0)
{
file << endl;//print newline after 5th value
numOfCols=1;//start from column 1 again, for the next line
}
numOfCols++;
}
file << endl;// last new line
所以,我的主要問題是如何從文件中讀取數據用逗號分隔值
感謝
這是幹什麼的? std :: stringstream linestream(line); – Curious 2009-09-25 00:38:15
它創建一個字符串流對象。它的行爲與std :: cin,std :: cout或std :: fstream文件流類似,但使用字符串作爲數據源。所以實際上它只是一條線的流。 – 2009-09-25 00:44:51
當我嘗試編譯時,出現這個錯誤,變量'std :: stringstream linestream'有初始值設定項但是不完整的類型。 我已經包含了所有需要的頭文件。 – Curious 2009-09-25 01:11:03