>  기사  >  백엔드 개발  >  C 언어에서 문자열에서 지정된 문자를 찾는 방법

C 언어에서 문자열에서 지정된 문자를 찾는 방법

coldplay.xixi
coldplay.xixi원래의
2021-03-17 15:41:1325638검색

문자열에서 지정된 문자를 찾는 C 언어 방법: 1. [strchr()]은 문자열에서 특정 문자가 처음 나타나는 위치를 찾는 데 사용됩니다. 2. [strrchr()] 함수는 위치를 찾는 데 사용됩니다. 문자열의 특정 문자 마지막으로 본 위치입니다.

C 언어에서 문자열에서 지정된 문자를 찾는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, c99 버전, DELL G3 컴퓨터.

문자열에서 지정된 문자를 찾는 C 언어 방법:

1. strchr()은 문자열에서 문자가 처음 나타나는 위치를 찾는 데 사용됩니다.

    char * strchr (const char *str, int c);

[매개변수] str 는 원하는 검색 문자열이고, c는 찾을 문자입니다.

strchr()은 str 문자열에서 문자 c가 처음 나타나는 주소를 찾아 해당 주소를 반환합니다.

참고: 문자열 str의 끝 플래그 NUL도 검색 범위에 포함되므로 str 그룹 다음 문자도 찾을 수 있습니다.

【반환값】지정된 문자가 있으면 해당 문자의 주소를 반환하고, 없으면 NULL을 반환합니다.

반환된 주소는 메모리에 무작위로 할당된 문자열 주소와 문자열에서 검색 중인 문자의 위치를 ​​더한 값입니다. 문자열에서 문자가 처음 나타나는 위치를 i라고 가정하면 반환된 주소는 str + i로 이해될 수 있습니다.

팁: 문자열에서 마지막 문자를 찾으려면 strrchr() 함수를 사용할 수 있습니다.

【예시】5번 문자가 처음 나타나는 위치를 찾아보세요.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
    char *s = "0123456789012345678901234567890";
    char *p;
    p = strchr(s, &#39;5&#39;);
printf("%ld\n", s);
    printf("%ld\n", p);
system("pause");
    return 0;
}

출력 결과:

12016464
12016469

2. strrchr() 함수는 문자열에서 마지막 문자를 찾는 데 사용됩니다. 해당 프로토타입은 다음과 같습니다.

    char * strrchr(const char *str, int c);

[매개변수] str은 찾을 문자열입니다. c는 찾을 문자입니다.

strrchr()은 str 문자열에서 문자 c가 마지막으로 나타나는 주소를 찾아 해당 주소를 반환합니다.

참고: 문자열 str의 끝 플래그 NUL도 검색 범위에 포함되므로 str 그룹 다음 문자도 찾을 수 있습니다.

【반환값】 발견되면 문자가 마지막으로 나타난 위치를 반환하고, 그렇지 않으면 NULL을 반환합니다.

반환된 주소는 메모리에 무작위로 할당된 문자열 주소와 문자열에서 검색 중인 문자의 위치를 ​​더한 값입니다. 문자열에서 문자가 처음 나타나는 위치를 i라고 가정하면 반환된 주소는 str + i로 이해될 수 있습니다.

팁: 문자열에서 처음 나타나는 문자를 찾으려면 strchr() 함수를 사용할 수 있습니다.

예: 문자 5의 마지막 항목을 찾습니다.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
    char *s = "0123456789012345678901234567890";
    char *p;
    p = strrchr(s, &#39;5&#39;);
    printf("%ld\n", s);
    printf("%ld\n", p);
    system("pause");
    return 0;
}

실행 결과:

12999504
12999529

[관련 학습 권장 사항: C 언어 튜토리얼 영상]

위 내용은 C 언어에서 문자열에서 지정된 문자를 찾는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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