>  기사  >  백엔드 개발  >  Stringstream을 효과적으로 재설정하는 방법은 무엇입니까?

Stringstream을 효과적으로 재설정하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-04 05:52:01188검색

How to Effectively Reset a Stringstream?

문자열 스트림을 효과적으로 재설정

추가 입력 및 추출을 위해 문자열 스트림을 다시 사용하기 위해 문자열 스트림을 지우려면 적절한 기술을 사용하는 것이 중요합니다. 스트림을 완전히 재설정합니다. 다음 예를 고려하십시오.

stringstream parser;

parser << 5;
short top = 0;
parser >> top;
parser.str(""); // Attempting to reset the parser

parser << 6; // Input value ignored
short bottom = 0;
parser >> bottom;

이 시나리오에서는 str 멤버에 빈 문자열을 할당하여 문자열 스트림을 재설정하려고 시도해도 스트림이 완전히 지워지지 않습니다. 결과적으로 후속 입력 값인 6은 무시되고 두 번째 추출 작업은 실패합니다.

문자열 스트림을 효과적으로 재설정하려면 str에 빈 문자열을 할당할 뿐만 아니라 나머지 실패 및 오류를 모두 지워야 합니다. eof 플래그입니다. 이는 Clear 메소드를 사용하여 달성할 수 있습니다.

parser.str(std::string());
parser.clear();

이 두 작업을 모두 실행하면 기본 시퀀스가 ​​비워지고 모든 플래그가 지워지기 때문에 stringstream이 완전히 재설정되고 재사용할 준비가 됩니다. 두 단계를 모두 수행하지 못하면 스트림이 "파일 끝" 상태로 남아 후속 작업이 실패하는 등 예기치 않은 동작이 발생할 수 있습니다.

위 내용은 Stringstream을 효과적으로 재설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.