printf("num: %d\n", strcasecmp(buf, "h"));
Почему \n
в конце, если вы хотите сравнить с h
или H
?
main(){
char *s = "hH";
printf("%d\n", strcasecmp(s, "Hh"));
}
0
read()
также сохраняет пробелы. Так что, если вы используете read
, сравните с "h \ n".
main(){
char *buf = malloc(sizeof(char)*10);
read(0, buf, 10);
printf("%s %d %d\n", buf, strcasecmp(buf, "h\n"), strcasecmp(buf, "h"));
}
ч
ч
0 10
Я ввел ч в вышеуказанном случае.
Также, используйте strncasecmp
, если вы хотите сравнить фиксированное количество символов.