Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

문타쿠, 공부하다.

[C언어 코딩 도장] Unit 44. 문자열 검색하기 본문

C언어/C언어 코딩 도장

[C언어 코딩 도장] Unit 44. 문자열 검색하기

개발새발 문타쿠 2023. 10. 2. 19:33

문자열에서 문자와 문자열로 검색하는 방법을 알아보자.

-> 문자열 검색은 포인터를 이용한다.

44.1 문자열 안에서 문자로 검색하기

문자열에서 특정 문자로 검색하는 방법

-> strchr 함수를 사용하면 문자열에서 특정 문자로 검색할 수 있으며, string.h 헤더 파일에 선언되어 있다.

#include <stdio.h>
#include <string.h>

int main(void)
{
    char s1[30] = "A Garden Diary";

    // 'a'로 시작하는 문자열 검색, 포인터 반환
    char* ptr = strchr(s1, 'a'); 

    // 검색한 문자열이 없을 때까지 반복
    while (ptr != NULL)
    {
        // 검색된 문자열 출력
        printf("%s\n", ptr);
        // 포인터에 1을 더하여 a 다음부터 검색
        ptr = strchr(ptr + 1, 'a');
    }

    return 0;
}


44.2 문자열의 오른쪽 끝부터 문자로 검색하기

strchr 함수는 문자열의 처음부터 문자를 검색해서 반환하지만, strrchr 함수는 문자열의 끝에서부터 문자를 검색할 수 있으며, 마찬가지로 string.h 헤더 파일에 선언되어 있다.

#include <stdio.h>
#include <string.h>

int main(void)
{
    char s1[30] = "A Garden Diary";

    char* ptr = strrchr(s1, 'a'); 

    printf("%s\n", ptr);

    return 0;
}


44.3 문자열 안에서 문자열로 검색하기

문자열 안에서 문자열을 검색하기 위해서는 strstr 함수를 사용하며, 마찬가지로 string.h 헤더 파일에 선언되어 있다.

#include <stdio.h>
#include <string.h>

int main(void)
{
    char s1[30] = "A Garden Diary";

    char* ptr = strstr(s1, "den");

    printf("%s\n", ptr);

    return 0;
}