본문 바로가기

알고리즘/알고리즘

C언어 문자열 함수 strcpy strlen strcmp 구현


C언어 strcpy, strlen, strcmp 구현


strcpy - 문자열을 다른 배열로 복사하는 함수

           배열 b의 문자열을 배열 a로 복사

1
2
3
4
5
6
7
void _strcpy(char* a, const char* b) {
    int i = 0;
    for (i = 0; b[i]; i++) {
        a[i] = b[i];
    }
    a[i] = '\0';
}
cs


strlen - 문자열의 크기를 구하기 위한 함수

     배열 a의 크기를 구하여 값을 리턴

1
2
3
4
5
int _strlen(const char* a) {
    int count = 0;
    while (a[count++]);
    return count;
}
cs

strcmp - 두 문자열을 비교하여 같은지 확인하는 함수

 두 배열 a, b 를 비교하여 같다면 true 리턴, 틀리면 false 리턴

1
2
3
4
5
6
7
8
9
10
11
12
13
#define FALSE 0
#define TRUE 1
 
int _strcmp(const char*a, const char*b) {
    if (_strlen(a) == _strlen(b)) {
        for (int i = 0; i < a[i]; i++) {
            if (a[i] != b[i])
                return FALSE;
        }
        return TRUE;
    }
    return FALSE;
}
cs