C언어/C언어 예제

[C언어 소스] strstr 함수 사용 예제 (문자열에서 부분 문자열의 위치를 찾는 함수)

언제나휴일 2016. 5. 4. 07:30
반응형

[C언어 소스] strstr 함수 사용 예제 (문자열에서 부분 문자열의 위치를 찾는 함수)


//C언어 표준 라이브러리 함수 사용법 가이드

//char * strstr ( const char * str1, const char * str2 ); 문자열에서 부분 문자열의 위치를 찾는 함수

//부분 문자열이 있는 위치를 탐색하여 다른 문자열로 변경하여 출력

#include <stdio.h>

#include <string.h>

 

char *ehstrstr(const char *str1, const char *str2)

{

    int len = strlen(str2);//str2 문자열 길이 계산

    while (*str1)//*str1 이 참인 문자일 때 반복

    {

        if (strncmp(str1, str2,len) == 0)//부분 문자열이 같으면

        {

            break;//반복문 탈출(*str1이 참)

        }

        str1++;//다음 위치로 이동

    }

    if (*str1)//*str1이 참일 때

    {

        return (char *)str1;//찾은 위치 반환

    }

    return NULL;

}

 

int main ()

{

    char str[100] ="안녕하세요. 오늘은 평일입니다.";

    char *pos;

    printf("원본 문자열: %s\n", str);

    pos = strstr (str,"평일");//"평일"이 있는 위치를 탐색

    memcpy(pos,"휴일",strlen("휴일"));//찾은 위치의 내용을 "휴일"로 변경

    puts (str);

 

    pos = ehstrstr(str, "오늘은");//"오늘은"이 있는 위치를 탐색

    memcpy(pos, "언제나", strlen("언제나"));//찾은 위치의  내용을 "언제나"로 변경

    puts(str);

    return 0;

}

 

출력

원본 문자열: 안녕하세요. 오늘은 평일입니다.

안녕하세요. 오늘은 휴일입니다.

안녕하세요. 언제나 휴일입니다.


언제나 휴일 티스토리 바로가기

언제나 휴일 유튜브 채널 바로가기

반응형