개념 :
1. string.h에 포함 되어 있다.
2. strcmp, _stricmp 와 같은점은 문자열검사를 하는것이고 다른것이 앞에서부터 몇바이트를 검사할것인지를 지정해준다.
목표:
명령인지를 체크하고 그명령문이라면 프로그램이 멈추는 기능을 구현해보자.
소스코드: main.c
#include <stdio.h>
#include <string.h>
#define TRUE 1
#define FALSE 0
#define MAX 256
int main(void)
{
char *pString = "Cmd";
char szBuffer[MAX] = { 0, };
int nMatchByte = strlen(pString);
int nMatch = 0;
while (TRUE)
{
printf("input : ");
gets_s(szBuffer, sizeof(szBuffer));
nMatch = strncmp(pString, szBuffer, nMatchByte);
if (nMatch == 0)
{
puts("Matched Cmd");
break;
}
else
{
printf("%d ", nMatch);
puts("error code");
}
}
puts("Checked CMD");
puts(szBuffer);
memset(szBuffer, '\0', sizeof(szBuffer));// 버퍼 공간을 초기화해준다.
while (TRUE)
{
printf("input : ");
gets_s(szBuffer, sizeof(szBuffer));
nMatch = _strnicmp(pString, szBuffer, nMatchByte);
if (nMatch == 0)
{
puts("Matched Cmd");
break;
}
else
{
printf("%d ", nMatch);
puts("error code");
}
}
puts("Checked CMD");
puts(szBuffer);
return 0;
}
결과
#c언어, #c언어입문, #프로그램입문, #strncmp, #_strnicmp