1
그래서 정수 만 허용하는 루프를 만들려고합니다. 처음에는 문제가 없지만 정수가 아닌 문자열이 입력되면 곧바로 올바른 입력이 사용되는 경우에도 if 문. 내가 놓친 게 있니? 당신이 다음 줄을 읽기 전에 stringstream
이 해제 될 수 있도록입력이 정수 루프인지 확인합니다.
# include "stdafx.h"
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
string str;
stringstream ss;
int a;
for(;;)
{
getline(cin, str);
ss<<str;
if (ss>> a)
{
cout<<"okay";
break;
}
cout<<str<<endl;//debugging (prints the correct input
str.clear(); //
ss>>str; //
cout<<str<<endl;// doesn't print anything but the endl space
cout<< "try again";
ss.str("");
}
}
oops 여분 {사본/붙여 넣기 오류에서였습니다. for 루프 안에 ss.str ("")을 이동했지만 여전히 같은 문제가 있습니다. – user2533259