C_C++/C_라이브러리_함수

(C언어) strncmp, _strnicmp: 문자열의 일부를 (대소문자 구분없이) 비교한다

고니자니 2023. 3. 2. 15:02
반응형
#include <string.h>
int strncmp(const char *s1, const char *s2, size_t maxlen);
int strnicmp(const char *s1, const char *s2, size_t maxlen);
int _strnicmp(const char *s1, const char *s2, size_t maxlen);

strncmp 함수는 문자열 s1과 s2를 지정한 maxlen 길이만큼만 비교합니다.

strnicmp 함수는 문자열 s1과 s2를 지정한 maxlen 길이만큼 대소문자 구분없이 비교합니다.

s1<s2이면 음수, s1=s2이면 0, s1<s2이면 양수를 반환합니다.

 

비주얼스튜디오에서는 strnicmp 함수 대신에 _strnicmp 함수를 사용합니다.

 

참고: strcmp

 

#include <stdio.h>
#include <string.h>
int main()
{
	char s1[100] = "C,C++";
	char s2[] = "C,C++,C#";
	int ptr;

	ptr = strncmp(s1, s2, 5);
	if (ptr == 0)
		printf("같은 문자열\n");
	else
		printf("다른 문자열\n");

	return 0;
}

strncmp: 문자열 일부 비교

 

#define _CRT_SECURE_NO_WARNINGS  // Visual Studio
#include <stdio.h>
#include <string.h>
int main()
{
	char s1[100] = "c,c++";   // 소문자 c
	char s2[] = "C,C++,C#";
	int ptr;

	ptr = _strnicmp(s1, s2, 5);
	if (ptr == 0)
		printf("같은 문자열\n");
	else
		printf("다른 문자열\n");

	return 0;
}

strnicmp: 대소문자 구분없이 문자열 일부 비교

 

 

728x90
반응형