while 루프에 문제가 있습니다. while 루프 이후의 문은 실행되지 않으며 이유는 알 수 없습니다. 나는 C++에 익숙하지 않고 이것을 이해할 수 없다. 나는 사용자로부터 입력으로 몇 가지 단어를 가져 와서 실습을 위해 문자열 벡터에 저장하려고합니다. 여기에 내 코드입니다 :while 루프 while 문을 실행하지 않은 문
#include "stdafx.h"
#include <string>
#include <iostream>
#include <vector>
using std::vector;
using std::string;
using std::cin;
using std::cout;
using std::endl;
int _tmain(int argc, _TCHAR* argv[])
{
vector<string> list;
string word;
while(cin >> word)
{
list.push_back(word);
cout << "Added " << word << endl;
}
cout << endl;
cout << "Done" << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
난이 콘솔 응용 프로그램을 실행할 때, 내가 루프가 실행되는 동안 내 진술과 메시지 "추가"하지만 "완료"메시지가 표시되지 않는 것을 볼 수 있습니다. 나는 while 루프 이후에도 다른 문을 지정하여이 문제를 시도했다. for 루프는 같은 문자열 벡터에서 & 표시 값을 가져 오는 루프와 같지만 루프가 실행 된 후에는 아무 명령문도 가져 오지 않는다. while 루프 이전과 while 루프 내에서만 명령문이 실행되며 이유는 알 수 없습니다.
입력 스트림을 어떻게 종료 하시겠습니까? 그렇게하지 않으면 결코 루프를 종료하지 않습니다. 파일을 stdin으로 리디렉션하려고합니다 (예 : 'a.exe
molbdnilo
무한 루프라고 생각합니다. 입력 할 때마다 작동 할 것입니다. 루프를 어딘가에서 끊어야합니다. – Himanshu
글쎄, 나는 사용자가 단어 입력을 중지하자마자 종료했다고 생각해. 이게 맘에 들지 않았 니? D : –