>백엔드 개발 >C++ >C에서 공백을 입력으로 읽고 처리하려면 어떻게 해야 합니까?

C에서 공백을 입력으로 읽고 처리하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-30 12:46:12604검색

How Can I Read and Handle Spaces as Input in C  ?

C의 공백 입력 이해

C에서 추출 연산자(cin)는 기본적으로 표준 입력에서 입력을 읽을 때 공백 문자를 건너뜁니다. 이것이 주어진 코드와 같이 문자 배열을 사용하여 공백 문자를 직접 검색하려고 할 때 공백이 무시되는 이유입니다.

noskipws로 공백 처리

공백도 읽으려면 다른 공백 문자와 마찬가지로 noskipws 조작기를 사용할 수 있습니다:

cin >> noskipws >> a[i];

이 조작기 cin에게 공백을 포함한 모든 문자를 읽도록 지시합니다. 그러나 탭 및 줄 바꿈과 같은 다른 공백 문자도 읽기 때문에 귀하의 경우에는 이상적이지 않을 수 있습니다.

개별 문자에 get() 사용

공백 문자 및 기타 개별 문자를 읽는 더 정확한 방법은 get() 함수를 사용하는 것입니다.

cin.get(a, n);

이 함수는 다음을 읽습니다. 입력 스트림에서 n개의 문자를 가져와서 배열 a에 저장합니다. 개행 문자(n)를 만나거나 n-1 문자를 읽은 후 읽기를 중지합니다. 모든 문자를 수용하기에 충분한 크기(n)의 배열을 사용하는 것이 중요합니다.

get()을 사용하면 개별 문자를 확인하고 구체적으로 공백 문자를 찾을 수 있습니다.

if (a[i] == ' ')
  // Do something when a space is encountered

이 방법을 사용하면 noskipws를 사용하여 전역적으로 공백 건너뛰기를 비활성화할 필요 없이 공백 및 기타 문자를 보다 선택적으로 처리할 수 있습니다.

위 내용은 C에서 공백을 입력으로 읽고 처리하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.