C에서 cin.ignore() 이해하기
C 프로그래밍에서 표준 입력(cin)을 사용할 때 가끔 cin.ignore()를 사용해야 하는 경우가 있습니다. 사용자 입력을 건너뛰는 것을 방지하기 위한 cin.ignore() 명령. 이 명령은 입력 버퍼에서 문자를 삭제하여 후속 cin 또는 getline 명령이 의도한 입력을 올바르게 읽도록 보장하는 데 사용됩니다.
이러한 요구를 설명하기 위해 다음 시나리오를 고려하십시오. cin.ignore()를 사용하지 않으면 프로그램은 문자열 요청을 건너뛰고 대신 즉시 다음 프롬프트로 진행합니다. 이는 숫자 입력 이후에 입력된 'n'(개행) 문자가 입력 버퍼에 남아 있기 때문입니다. 후속 cin 작업은 이 'n'을 사용하여 프로그램이 문자열 입력을 올바르게 읽지 못하게 합니다.
cin.ignore() 명령은 지정된 수의 문자를 삭제하여(또는 지정된 구분 기호에 도달할 때까지) 이 문제를 해결합니다. ) 입력 버퍼에서. 제공된 예제 코드에서는 다음 줄이 사용됩니다.
cin.ignore(256, '\n');
이 명령은 프로그램이 256자를 건너뛰거나 입력 버퍼에서 'n' 문자를 만날 때까지 건너뛰도록 지시합니다. 이렇게 하면 이전 입력을 지우고 후속 getline 작업이 사용자가 입력한 문자열을 올바르게 읽도록 보장합니다.
cin.ignore() 사용 시기를 예측하려면 C에서 입력이 처리되는 방식을 이해해야 합니다. cin을 사용하면 모든 입력 작업이 공통 버퍼를 공유합니다. cin 작업이 수행된 후 공백 및 'n'을 포함한 나머지 문자는 버퍼에 남아 있습니다. 버퍼를 지우지 않고 후속 cin 작업을 시도하면 이러한 문자가 새 입력을 방해합니다. 따라서 다음 입력 호출에 영향을 미칠 수 있는 처리되지 않은 데이터가 버퍼에 있을 가능성이 있을 때마다 cin.ignore()를 사용해야 합니다.
위 내용은 C에서 `cin.ignore()`를 언제 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!