strchr() 문자열 내에서 특정 문자 검색하는 함수
#include <stdio.h>
#include <string.h>
int main()
{
char string[20] = "Test Hello";
char search = 'e';
char* result = NULL;
result = strchr(string, search);
printf("string Addr : %p \n", string);
printf("result Addr : %p \n", result);
printf("result : %s \n", result);
return 0;
}
strchr()는 문자열 내에서 문자를 찾는 함수입니다.
이전의 strstr() 함수를 보고 오셨다면 매우 간단합니다.
인자는 2개 문자열 주소와 문자 형태 2개가 필요하며
찾았다면 찾은 문자가 있는 처음부터 끝까지 출력됩니다.
e를 찾는다면 est Hello까지 출력이 됩니다.
찾지 못하면 null 값이 출력됩니다.
strchr() 직접 구현해보기
1. 리턴 타입
2. 인자 형태
3. 기능 구현
리턴 타입은 문자열 주소입니다.
인자 형태는 처음의 인자는 문자열 주소
두 번째 인자는 문자 형태입니다.
char * MyStrchr(char * string, char search)
{
}
기능은 strstr() 함수를 보고 오셨다면 너무 간단합니다.
string의 값을 null 문자까지 반복하면서
search의 값과 비교하다가 같은 것을 찾았다면
증가된 string의 주소를 반환
다르다면 널 값 반환하면 됩니다.
char * MyStrchr(char * string, char search)
{
while (*string) //string의 값이 null 문자전까지 반복
{
if (*string == search) //string의 값이 search와 같다면
{
return string; //string의 주소 반환
}
string++; //string의 주소 증가
}
return 0; //반복문이 끝났다면 (못찾았다는 증거) 0반환
}
'컴퓨터 프로그래밍 > C' 카테고리의 다른 글
C언어 함수 포인터 (0) | 2019.07.23 |
---|---|
C언어 문자열 처리 함수 (strstr() : 문자열 검색) (0) | 2019.07.23 |
C언어 문자열 처리 함수 (strcmp() : 문자열 비교) (0) | 2019.07.23 |
C언어 문자열 처리 함수 (strcat() : 문자열 이어 붙이기) (0) | 2019.07.23 |
C언어 문자열 처리 함수 (strcpy() :문자열 복사) (0) | 2019.07.23 |