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

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

Susan Sarandon
풀어 주다: 2024-12-24 11:27:12
원래의
1023명이 탐색했습니다.

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

C에서 cin.ignore()를 사용해야 하는 시기와 이유

C에서 입력 처리는 까다로울 수 있으며, 특히 숫자와 문자열을 모두 처리할 때 더욱 그렇습니다. 개발자는 프로그램이 문자열 입력을 건너뛰어 예기치 않은 동작이 발생하는 문제에 자주 직면합니다. 여기서 신비한 cin.ignore() 함수가 작동합니다.

cin.ignore()의 필요성을 이해하기 위해 C 입력의 복잡성을 살펴보겠습니다. 사용자가 숫자와 문자열(공백으로 구분)을 입력하면 cin 스트림이 숫자를 성공적으로 읽습니다. 그러나 getline을 사용하여 문자열을 읽으려고 하면 숫자를 입력한 후 입력 버퍼에 남아 있는 개행 문자('n')를 우연히 발견합니다. getline은 이 개행 문자를 입력의 끝으로 해석하여 문자열을 건너뛰게 합니다.

cin.ignore()는 입력 버퍼에서 지정된 구분 기호까지 지정된 수의 문자를 삭제하여 솔루션을 제공합니다(일반적으로 개행의 경우 'n'). 제공된 코드에서:

cin.ignore(256, '\n');
로그인 후 복사

이 함수는 최대 256자(상한 제한) 또는 개행 문자를 만날 때까지 중 먼저 오는 문자를 무시합니다. 이렇게 하면 입력 버퍼가 지워지고 남은 개행 문자가 제거되며 getline이 문자열을 올바르게 읽을 수 있는 방법이 만들어집니다.

cin.ignore()가 숫자 뒤에 오는 문자열 문제를 해결하는 데만 국한되지 않는다는 점에 유의하는 것이 중요합니다. 유효하지 않은 입력을 처리하거나 입력 스트림에서 특정 문자를 건너뛰는 등 더 폭넓은 용도로 사용됩니다. 그러나 주요 용도는 입력 버퍼에 남은 문자로 인해 문자열 입력에서 예기치 않은 건너뛰기를 방지하는 것입니다.

위 내용은 C에서 `cin.ignore()`를 언제, 왜 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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