7
我有以下格式的文本文件:我想CIN讀,直到「 n」,但我不能用函數getline
info
data1 data2
info
data1 data2 data3 data4...
的問題是:數據的數量(和長度)可能非常大,並在使用getline()
時導致運行時問題。所以我無法將整行讀入std::string
。我試過如下:
for(int i=0; i<SOME_CONSTANT ; i++){
string info, data;
cin >> info;
while(cin.peek() != '\n' && cin >> data){
// do stuff with data
}
}
然而cin.peek()
沒有做的伎倆。信息被讀入while循環中的數據並編程。我怎樣才能解決這個問題?
你試過'std :: string :: max_size'作爲'std :: istream :: getline'的第二個參數嗎? –
數據的大小如何成爲問題?線條有多長? –
多達150.000個字符 – Varaquilex