>  기사  >  백엔드 개발  >  C 문자열과 Char 포인터에서 숫자를 어떻게 확인할 수 있나요?

C 문자열과 Char 포인터에서 숫자를 어떻게 확인할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2024-11-02 17:17:02123검색

How Can You Check for Digits in C   Strings and Char Pointers?

C 문자열 및 문자 포인터에서 숫자 확인

문자열 또는 문자 포인터에 숫자만 포함되어 있는지 확인하는 것은 프로그래밍에서 일반적인 작업입니다. . C는 std::string과 char* 모두에 적용 가능한 이 검사를 수행하는 여러 가지 방법을 제공합니다.

문자열 기반 방법

std::string이 있는지 확인하려면 숫자만 포함된 경우 find_first_not_of() 함수를 사용할 수 있습니다. 이 함수는 지정된 문자 집합과 일치하지 않는 첫 번째 문자의 위치를 ​​반환합니다. 함수가 std::string::npos를 반환하는 경우 숫자가 아닌 문자가 발견되지 않았으므로 문자열에 숫자만 포함되어 있음을 나타냅니다.

<code class="cpp">bool is_digits(const std::string &str)
{
    return str.find_first_not_of("0123456789") == std::string::npos;
}</code>

Char 포인터 기반 방법

문자 포인터의 경우 std::all_of() 함수를 ::isdigit 함수와 함께 사용하여 포인터의 모든 문자가 숫자인지 확인할 수 있습니다. ::isdigit 함수는 문자가 숫자(0-9)이면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

<code class="cpp">bool is_digits(const char* str)
{
    return std::all_of(str, str + strlen(str), ::isdigit); // C++11
}</code>

두 방법 모두 입력 문자열 또는 문자 포인터가 일련의 ASCII 문자라고 가정합니다. . ASCII가 아닌 문자가 예상되는 경우 적절한 수정이 필요할 수 있습니다.

위 내용은 C 문자열과 Char 포인터에서 숫자를 어떻게 확인할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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