[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;
}
출력
원본 문자열: 안녕하세요. 오늘은 평일입니다.
안녕하세요. 오늘은 휴일입니다.
안녕하세요. 언제나 휴일입니다.
'C언어 > C언어 예제' 카테고리의 다른 글
[C언어 소스] strtok_s 함수 사용 예제 (대상 문자열에서 delimeters를 기준으로 분할하는 함수, 버퍼 오버플로우 방지) (0) | 2016.05.04 |
---|---|
[C언어 소스] strtok 함수 사용 예제 (대상 문자열에서 delimeters를 기준으로 분할하는 함수) (0) | 2016.05.04 |
[C언어 소스] strrchr 함수 사용 예제 (문자열에서 특정 문자가 있는 위치를 뒤에서부터 찾는 함수) (0) | 2016.05.04 |
[C언어 소스] strchr 함수 사용 예제 (문자열에서 특정 문자가 있는 위치 찾기) (0) | 2016.05.04 |
[C언어 소스] strncat_s 함수 사용 예제 (부분 문자열 합치기, 버퍼 오버플로우 방지) (0) | 2016.05.04 |