나는 편지를 입력하라는 간단한 프로그램을 작성하고 있습니다. 그리고 나서 그에게 한 마디를 입력하라고합니다. 그것은 단지 하나의 문자열 일 때 나는 문제가 없습니다.char와 그 다음 문자열을 입력하도록 사용자에게 묻습니다.
char c;
string s;
cin >> c;
cin >> s;
그러나 사용자가 문자를 입력 한 후 내가 프로그램을 실행할 때 나는 문구
cin >> c;
getline(cin, s);
을 원하는 안타 내가 입력 할 수있는 기회 문구를하지 않는 입력 할 때. 물론 문자를 입력하고 공백 뒤에 구문을 입력하면 프로그램이 올바르게 작동합니다.
반대로 문자를 입력 한 다음 첫 번째 방법을 사용하여 공백 다음에 단일 문자열을 입력하면 문자열을 기록하지 않습니다.
왜 이렇게합니까?
'cin.ignore()'...를 사용하거나''''과''getline'을 섞는 것을 멈추십시오. 두 가지 중 하나만 사용하십시오 (둘 다 사용하지 마십시오). –