내 txt 파일에서 값을 인쇄하려고합니다. txt 파일에서 요소를 쉽게 검색 할 수 있도록 구조체를 만들었습니다. 그래서 첫 번째 for 루프에서 첫 번째 옵션으로 "CC"를 검색 한 다음 인쇄합니다. 효과가있다. 그러나 동일한 루프를 복사하고 다른 항목을 검색하려고하면 "SN"이라고 말하여 첫 번째 옵션으로 SN이있는 모든 값을 인쇄 할 수 있습니다. 두 번째 및 후속 루프는 인쇄되지 않습니다. 긴 코드를 다시 복사하고 새 함수를 만들어야 작동하지만 간결하게 유지하려고하기 때문에 그렇게하고 싶지 않습니다.
cout << "\nCC Students:" << endl;
int cc = 0;
for (; it != v.end(); it++)
{
if ((*it).First == "CC"){
cout << (*it).Name << " " << (*it).GPA << "\n";
if (++cc == 10)
break;
}
} // can print
cout << "\nSN Students:" << endl;
int sn = 0;
for (; it != v.end(); it++)
{
if ((*it).First == "SN"){
cout << (*it).Name << " " << (*it).GPA << "\n";
if (++sn == 10)
break;
}
} // cannot print
질문은의 초기화를 보여주지 않지만 it
컨텍스트에서 이터레이터 인 것 같습니다 v
. 첫 번째 루프는 반복기를 소진하고에 it
도달하면 종료됩니다 v.end()
. 다른 루프를 시작하면 다시 초기화해야합니다 it
에 v.begin()
, 예를 :
for (it = v.begin(); it != v.end(); it++)
// Here ^
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다