cinリターン完了入力
1097 ワード
一般的にcinはスペースやリターンに遭遇しても無視されますが、昨日ccfの試験問題をして、いくつかのデータを入力することを要求しました.これらのデータの長さは不定で、他のデータ(例えば特定の終了符やctrl+z)を入力することはできません.これは入力が2つのリターンを認識し、自動的に終了しなければならないことを要求しました.結局、私はできませんでした.
ええと、帰ってからこの問題を調べてみましたが、この問題は簡単です.一般的には、cmdに入力したデータはバッファに保存され、車に戻ったりeofに遭遇したりするとcinに読み込まれ、cinは改行やスペースを無視するので、2つのスペースで停止するには、特別な設定が必要です.
次はコードです.プログラムを変更して各行に2つの数字を入力してから、車に戻って、次の行に2つの数字を入力し続けたり、2つの車に連続して入力したりして、終わります.
over.
ええと、帰ってからこの問題を調べてみましたが、この問題は簡単です.一般的には、cmdに入力したデータはバッファに保存され、車に戻ったりeofに遭遇したりするとcinに読み込まれ、cinは改行やスペースを無視するので、2つのスペースで停止するには、特別な設定が必要です.
次はコードです.プログラムを変更して各行に2つの数字を入力してから、車に戻って、次の行に2つの数字を入力し続けたり、2つの車に連続して入力したりして、終わります.
#include
#include
#include
using namespace std;
#include
#include
int main()
{
while(1)
{
// ,
int m, n;
cin>>m>>n;
//
char c = cin.get();
//
char c2 = cin.get();
//
if (c2 == '
')
{
break;
}
else
{
// ,
char b[255];
//
cin.getline(b, 255);
//
// ,
// b ……
for (int i = strlen(b)+1; i> 0; i--)
{
b[i] = b[i-1];
}
b[0] = c2;
}
}
system("pause");
return 0;
}
over.