2010-11-29 7 views
2

istream_iterator<customstruct>을 사용하여 사람의 표준 입력을 읽음으로써 벡터에 삽입 할 수 있습니까? 구조체에 포함 된 여러 데이터 형식이 있습니다.istream_iterator를 사용하여 키보드의 구조체 벡터를 읽으시겠습니까?

이렇게하는 것이 바람직합니까? 아니면 각 데이터 조각에 대해 더 나은 접근 방법을 요구할 것입니까? 나는 그렇게하도록 요구 받았기 때문에 이것을 묻는다. 그러나 그것이 가능하거나 실용적이지 않다고 생각한다.

답변

2

과부하가 "연산자 >>"인 경우 istream_iterator가 읽을 수 있으며 복사 및 할당이 가능합니다.

반복자를 끝내기 위해 EOF 시퀀스를 수동으로 입력해야하기 때문에이 방법을 사용하는 것이 좋다고 생각하지 않습니다.

EOF를 사용하지 않으려면 사용자가 많은 레코드를 입력하게 할 수 있지만 대부분의 사람들은 레코드를 입력하기 전에 레코드 수를 알지 않습니다.

더 나은 선택은 줄 단위로 읽고 문자열을 사용하여 데이터를 가져올 수 있습니다. 이 방법으로 미리 정의 된 일부 패턴 (빈 줄과 같은)을 데이터의 문자열 스트림으로 보내기 전에 입력 끝으로 인식 할 수 있습니다.

관련 문제