친구, \ t로 구분 된 한 쌍의 문자를 읽고 싶습니다. 사용자가 어떤 문자에 대해서 z를 입력 할 때까지 입력을 계속 읽고 싶습니다. tC++로 구분 된 한 쌍의 문자 읽기
여기에 내가 생각했던 옵션은 다음과 같습니다
while (cin>>ch1>>ch2)
{
// process ch1 & ch2
}
std::string str;
while (getline(cin, str)){
//split string
}
은 또한, 나는 그것이 정확한지 확인하기 위해 입력의 유효성을 검사합니다. 가장 좋은 방법을 제안하십시오. 이것이 중복 된 것이라면, 저를 올바르게 지적하십시오.
감사합니다.
3 문자열 콘솔 입력을 구문 분석하기 위해 2 개의 문자열과 추가 istringstream 개체를 만드는 것이 낭비가 아닙니까? :) –
@ Kotti : 그럴지도 모르겠지만 ... 하나는'std :: getline()'을 사용하는 것이 확실히이 작업을 수행하는 가장 쉬운 방법입니다. 그리고 나서 - 왜 사용자 (또는 디스크)로부터 입력을 기다리는 코드 조각을 최적화하면 많은 차이를 만들지 못합니까? __If__이 코드가 느린 것으로 판명되면 (나는 매우 의심 스럽습니다), 나중에 최적화 된 코드로 대체 될 수 있습니다. 그때까지는 읽을 수 있고 버그가없는 코드 규칙이 있습니다. – sbi
두 시간 동안'std :: getline()'에 대한 두 번째 호출이' '\ t '' 매개 변수를 놓쳤다는 사실을 아무도 알아 채지 못했습니다. – sbi