Для сравнения без учета регистра попробуйте int strcmp ( const char * str1, const char * str2 )
http://www.cplusplus.com/reference/clibrary/cstring/strcmp/
Если вы хотите, чтобы сравнение строк было чувствительным к регистру, то есть "test" != "TEsT"
, используйте int memcmp ( const void * ptr1, const void * ptr2, size_t num )
.
http://www.cplusplus.com/reference/clibrary/cstring/memcmp/
Итак:
typedef char string[];
string sz1 = "This is a test string."
string sz2 = "This is a test string."
string sz3 = "This Is A Test String."
if(memcmp(sz1, sz2, strlen(sz1) > strlen(sz2) ? strlen(sz1) : strlen(sz2)) == 0)
printf("sz1 and sz2 are equal");
else
printf("sz1 and sz2 are not equal");
if(memcmp(sz1, sz3, strlen(sz1) > strlen(sz2) ? strlen(sz1) : strlen(sz2)) == 0)
printf("sz1 and sz3 are equal");
else
printf("sz1 and sz3 are not equal");
if(strcmp(sz2, sz3) == 0)
printf("sz2 and sz3 are equal");
else
printf("sz2 and sz3 are not equal");
РЕДАКТИРОВАТЬ: Вы также можете использовать stricmp () для сравнения с учетом регистра.