Разница между stricmp и _stricmp в Visual Studio?
Я могу задать глупый вопрос, но я действительно не могу найти ответ с помощью Google, плюс я все еще начинаю использовать MSVS.
В последнее время мне нужно использовать функции для сравнения двух строк. Что я не понимаю, так это различие между stricmp и _stricmp. Оба они могут быть использованы для сравнения строк и получения одинаковых результатов. Я пошел, чтобы проверить их:
char string1[] = "The quick brown dog jumps over the lazy fox";
char string2[] = "The QUICK brown dog jumps over the lazy fox";
void main( void )
{
char tmp[20];
int result;
/* Case sensitive */
printf( "Compare strings:\n\t%s\n\t%s\n\n", string1, string2 );
result = stricmp( string1, string2 );
if( result > 0 )
strcpy( tmp, "greater than" );
else if( result < 0 )
strcpy( tmp, "less than" );
else
strcpy( tmp, "equal to" );
printf( "\tstricmp: String 1 is %s string 2\n", tmp );
/* Case insensitive */
result = _stricmp( string1, string2 );
if( result > 0 )
strcpy( tmp, "greater than" );
else if( result < 0 )
strcpy( tmp, "less than" );
else
strcpy( tmp, "equal to" );
printf( "\t_stricmp: String 1 is %s string 2\n", tmp );
}
Результат показывает, что они одинаковы:
Compare strings:
The quick brown dog jumps over the lazy fox
The QUICK brown dog jumps over the lazy fox
stricmp: String 1 is equal to string 2
_stricmp: String 1 is equal to string 2
Мне интересно, почему ...