> 백엔드 개발 > C++ > C에서 `cin.ignore()`를 언제 사용해야 합니까?

C에서 `cin.ignore()`를 언제 사용해야 합니까?

Mary-Kate Olsen
풀어 주다: 2025-01-04 01:28:43
원래의
265명이 탐색했습니다.

When Should You Use `cin.ignore()` in C  ?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿