memcmp
【기 능】 두개의 메모리 블럭을 지정한 바이트수 만큼 비교하는 기능
【소 속】 string.h
#include <string.h>
【서 식】
int memcmp(const void *buf1, const void *buf2, size_t n);
【설 명】
buf1 와 buf2의 선두번지로 부터 n바이트분의 데이터를 비교한다.
비교는 unsigned char상태로 진행된다.
도중에 공백문자('\0')가 있어도 무시하고 지정한 만큼 비교한다.
【인 수】
buf1 : 비교할 메모리의 선두 어드레스1
buf2 : 비교할 메모리의 선두 어드레스2
n : 비교할 바이트 수
【리턴 값】
1 : buf1 > buf2
0 : buf1 = buf2
-1 : buf1 < buf2
【사용 예】
#include <stdio.h>
#include <string.h>
int main(void)
{
char buf1[] = "\012345\06789";
char buf2[] = "\012345\06789";
char buf3[] = "\012345678\090";
int iRetn;
iRetn = memcmp(buf1, buf2, 12);
if(iRetn == 0){
printf("buf 1 == buf2\n");
}
else{
printf("buf 1 != buf2\n");
}
iRetn = memcmp(buf1, buf3, 12);
if(iRetn == 0){
printf("buf 1 == buf3\n");
}
else{
printf("buf 1 != buf3\n");
}
return 0;
}
【결 과】
buf1 == buf2
buf1 != buf3