を使用することはできません。私は「 n」のまで読み取ることがCINたいが、私は、次の形式のテキストファイルを持っているの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 :: istream :: getline'の第2引数として' std :: string :: max_size'を試しましたか? –
データのサイズはどのように問題になりますか?どのくらいの期間ですか? –
最大150.000文字 – Varaquilex