본문 바로가기
Language/C언어

C031_strncmp 함수 구현해서 사용하기

by OdOp 관리자 2023. 10. 26.
SMALL

strncmp는 strcmp와 마찬가지로 문자열을 서로 비교하는 함수입니다.

다만, 어디까지 비교할지를 설정해 준다는 차이점이 존재합니다. 

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

int main()
{
    printf("%d\n", strncmp("abc", "ab", 2));  //0
    printf("%d\n", strncmp("abc", "abv", 3));  //-19
    printf("%d\n", strncmp("abcf", "abcd", 4));  //2
    return 0;
}

 

strncmp 함수

int    OdOp_strncmp(char *s1, char *s2, unsigned int n)
{
    unsigned int    i;
    unsigned char    c1;
    unsigned char    c2;

    i = 0;
    c1 = s1[i];
    c2 = s2[i];
    while ((c1 != '\0' || c2 != '\0') && i < n)
    {
        if (c1 != c2)
            return (c1 - c2);
        i++;
        c1 = s1[i];
        c2 = s2[i];
    }
    return (0);
}

 

LIST