반응형
#include <memory.h> int memcmp(const char *s1, const char *s2, size_t n); |
memcmp 함수는 두 개의 버퍼 s1, s2에서 n 바이트 길이만큼 값을 비교합니다.
memicmp 함수는 두 버퍼의 내용을 대소문자 구별 없이 n 바이트 길이만큼 비교합니다.
반환값은 다음과 같습니다.
s1 < s2 : 음수를 반환
s1 = s2 : 0을 반환
s1 > s2 : 양수를 반환
#include <stdio.h>
#include <memory.h>
#include <string.h>
int main()
{
char buffer1[] = "ram ddr3";
char buffer2[] = "ram";
int p;
p = memcmp(buffer1, buffer2, strlen(buffer2));
if (p == 0)
printf("문자열 %s를 찾았습니다.\n", buffer2);
else
printf("문자열 %s를 찾지 못했습니다.\n", buffer2);
return 0;
}
#include <stdio.h>
#include <memory.h>
int main()
{
int a[3] = { 1, 2, 3 };
int b[3] = { 1, 2, 3 };
int c[3] = { 2, 3, 4 };
int p;
p = memcmp(a, b, sizeof(int)*3);
if (p == 0)
printf("a, b는 같은 값입니다.\n");
else
printf("a, b는 다른 값입니다.\n");
p = memcmp(a, c, sizeof(int) * 3);
if (p == 0)
printf("a, c 같은 값입니다.\n");
else
printf("a, c는 다른 값입니다.\n");
return 0;
}
memicmp
비주얼스튜디오에서는 _memicmp 함수를 사용합니다.
#include <stdio.h>
#include <memory.h>
#include <string.h>
int main()
{
char buffer1[] = "Ram ddr3";
char buffer2[] = "ram";
int p;
p = _memicmp(buffer1, buffer2, strlen(buffer2));
if (p == 0)
printf("문자열 %s를 찾았습니다.\n", buffer2);
else
printf("문자열 %s를 찾지 못했습니다.\n", buffer2);
return 0;
}
반응형
'C_C++ > C_라이브러리_함수' 카테고리의 다른 글
(C언어) memmove: 버퍼의 내용을 이동한다 (0) | 2023.02.22 |
---|---|
(C언어) memcpy: 버퍼의 내용을 복사한다 (0) | 2023.02.21 |
(C언어) memchr: 버퍼에서 지정한 문자를 찾는다 (0) | 2023.02.21 |
(C언어) max,min: 두 수 중에서 큰 수 또는 작은 수를 구한다 (0) | 2023.02.20 |
(C언어) log, log10: 자연로그, 상용로그 값을 구한다 (0) | 2023.02.20 |