84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
以前只是利用cin读取简单的几个数据,现在要输入的数据在一行内,大概包含5000个四位数,利用下面的代码后发现输入到七八百个就无法继续输入了,这是cin的问题吗(只能在输入回车键后,才能将数据送入缓冲区)?应该怎么解决这种问题呢?试了cin.getline()、cin.get()、scanf都没能解决这个问题。
cin.getline()
cin.get()
scanf
int size; cin>>size; double array[size]; for(int i=0;i<size;i++){ cin>>array[i]; }
谢谢!
闭关修行中......
この場合、ファイルからデータを読み取ることを選択します
バッファがいっぱいになると、バッファがフラッシュされる前に改行文字を入力する必要はありません。これがうまくいかない場合、投稿者は考えを変えることができるでしょうか?まず read または getline (まだテストしていません) を使用して、string または char* のすべての入力を一度に読み取ります。次に、入力時に同じ区切り文字を使用する必要があります (スペースであると仮定して)。その後、For boost の分割し、空間に従って分割を入力し、結果のベクトルの要素を数値に変換すれば問題ありません
この場合、ファイルからデータを読み取ることを選択します
バッファがいっぱいになると、バッファがフラッシュされる前に改行文字を入力する必要はありません。これがうまくいかない場合、投稿者は考えを変えることができるでしょうか?まず read または getline (まだテストしていません) を使用して、string または char* のすべての入力を一度に読み取ります。次に、入力時に同じ区切り文字を使用する必要があります (スペースであると仮定して)。その後、For boost の分割し、空間に従って分割を入力し、結果のベクトルの要素を数値に変換すれば問題ありません