>`? " />
C의 getline() 및 콘솔 입력
C에서 getline() 함수는 일반적으로 스트림에서 텍스트 한 줄을 추출하는 데 사용됩니다. 그러나 루프에서 여러 번 사용하면 동작할 수 있습니다. 예기치 않게 발생했습니다.
문제:
문자열의 경우 getline()을 사용하고 정수 및 복식의 경우 >>을 사용하여 사용자 입력을 수집하려고 하면 사용자가 첫 번째 문자열을 입력할 수 없습니다. 대신 콘솔 커서는 두 번째 getline() 이후의 다음 입력 프롬프트로 이동합니다. call.
설명:
이 문제는 getline() 및 >> 연산자를 혼합하여 발생합니다. 공백이 아닌 문자. 그러나 입력 스트림에 개행 문자(n)가 남습니다.
다음에 getline()이 호출되는 경우 >>, 개행 문자를 빈 문자열로 읽어서 원하지 않는 동작을 초래합니다.
해결책:
string line; getline(cin, line); int value = stoi(line); // Parse the number from the string
위 내용은 `>>`를 사용한 후 루프에서 getline()이 예기치 않게 동작하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!