다음 코드 단편은 stringstream 객체를 사용하여 문자열에서 정수를 추출하고 정수 추출이 성공했는지 여부를 감지하기위한 것입니다. stringstream 클래스는 >> 연산자를 상속하여 istream 인스턴스에 대한 참조를 반환합니다. 실패한 정수 추출은 str 멤버가 여전히 strInput 인 동안 myStream이 0이되는 방법은 무엇입니까? 그것이 실패했을 때 또는 void *
에 NULL의 경우 -if 문에서 stringstream >> 연산자 사용
stringstream myStream(strInput);
if (myStream >> num){//successfull integer extraction}
else{//unsuccessfull integer extraction
cout<<myStream<<endl;
cout<<myStream.str().c_str()<<endl;}
예! 구체적으로'std :: basic_ios'를위한 것입니다. 여기에'operator void *'와'operator bool'을 보라. http://en.cppreference.com/w/cpp/io/basic_ios –
정수 추출에 실패하면 0을 표시하므로 첫 번째 cout 문과 동일하다고 가정합니다. 컴파일러는 cout이 그것을 표시 할 수 있도록 bool 또는 void *로 만듭니다. –
예, 적어도 비슷한 것을 할 것입니다. –