0
이 코드는 배열 또는 STL 컨테이너의 대용품으로 사용자 정의 데이터 구조 (스택 유형)를 사용하여 매우 긴 사용자 유형 번호를 저장해야합니다. 과부하를하려고합니다 >> 연산자가istream 입력에서 한 번에 한 문자 씩 읽음
LongInt int1;
cin>>int1;
이 작동합니다.
내 코드 :
istream& operator>> (istream& input, LongInt& number) //class name is LongInt
{
char c;
int a;
while (input>>c){ // read one number at a time
a=c-'0'; // converting the value to int
number.stackli.push(a); // pushing the int to the custom stack
}
return input;
}
사용자가 자신의 번호를 입력하고 입력 누른 후 종료, 대신에 무한 루프를 초래한다. 루프 내부의 두 줄을 주석 처리하면 여전히 무한 루프가 발생합니다. 이 문제를 해결하는 방법에 대한 제안은 매우 높이 평가 될 것입니다.
샘플 입력을 추가하십시오하고 [MCVE] (http://stackoverflow.com/help/ :
대신 전체의 입력 스트림에서 단 일부를 소비하려면 뭔가를해야합니다 mcve). –
"은 사용자가 전화 번호를 입력하고 Enter 키를 누른 후에 종료해야합니다."- 코드에 표현 된 기대치는 어디입니까? (힌트 - 그렇지 않다)'input >> c'는 스트림이나 히트 엔드 파일에 에러가 생길 때까지 true를 반환한다. –
input.get (c) –