strcmp 함수의 모호한 return value
strcmp 함수는 스트링간 포함여부를 찾는데는 사용하기 어렵다. strstr 이나 strchar 를 사용해야 한다.
두 string 이 완전히 동일한지만 판단이 용이하다.
#include <stdio.h>
//#include <sys/mount.h>
#include <signal.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <sys/wait.h>
#include <fcntl.h> // O_WRONLY
#include <string.h> // strlen()
#define BUFF_SIZE 1024
int main()
{
const char* standard = "12345";
const char* standard2 = "0123456";
const char* wrong = "a12";
const char* part = "234";
int rst=0;
rst = strcmp(standard, standard);
printf("%s with %s = %d\n", standard, standard, rst);
rst = strcmp(standard, wrong);
printf("%s with %s = %d\n", standard, wrong, rst);
rst = strcmp(wrong, standard);
printf("%s with %s = %d\n", wrong, standard, rst);
rst = strcmp(standard, part);
printf("%s with %s = %d\n", standard, part, rst);
rst = strcmp(part, standard);
printf("%s with %s = %d\n", part, standard, rst);
rst = strcmp(part, standard2);
printf("%s with %s = %d\n", part, standard2, rst);
return 0;
}
12345 with 12345 = 0
12345 with a12 = -48
a12 with 12345 = 48
12345 with 234 = -1
234 with 12345 = 1
234 with 0123456 = 2