Существует несколько, каждая из которых служит разным целям (пока не используются варианты с широкими символами).
strcmp
- сравнивает две строки, символ за символом (с понятием C, чтоСтроки равны или нет - это не должно совпадать с тем, как люди думают - см. strcoll
).Существует вариант сравнения только первых не более n символов, strncmp
.
strcasecmp
- сравнение двух строк без учета регистра.Существует вариант сравнения только первых не более n символов, strncasecmp
.
strcoll
- сравнивает две строки, наблюдая текущую установленную локаль (котораяВот почему это называется сопоставление, а не сравнение в этом случае).Если вы хотите, чтобы ss
и ß
сравнивались равными для немецкой аудитории, то это то, что вы должны использовать.
Где вы могли бы написать
if (string1 > string2) ...
вязыком, вы должны написать
if (strmp(string1, string2) > 0) ...
на C. По сути, вы перемещаете оба операнда в вызов функции, сохраняете оператор сравнения и сравниваете вместо него 0
.