wcscmp
Определено в заголовочном файле <wchar.h> | ||
|---|---|---|
int wcscmp( const wchar_t* lhs, const wchar_t* rhs ); | (с C95) |
Сравнивает две строковые переменные типа «широкий символ» с нулевым завершением в лексикографическом порядке.
Знак результата соответствует знаку разности значений первой пары широких символов, отличающихся в сравниваемых строках.
Поведение не определено, если lhs или rhs не являются указателями на строки с широкими символами, завершенными нулем.
Параметры
| lhs, rhs | - | указатели на строки с широкими символами, завершёнными нулем, для сравнения |
Возвращаемое значение
Отрицательное значение, если lhs предшествует rhs в лексикографическом порядке.
Ноль, если lhs и rhs равны при сравнении.
Положительное значение, если lhs следует за rhs в лексикографическом порядке.
Примечания
Эта функция не чувствительна к локали, в отличие от wcscoll, и порядок может быть не значимым, когда используются символы из разных блоков Юникода или когда порядок кодовых единиц не соответствует никакому порядку сортировки.
Пример
#include <locale.h>
#include <stdio.h>
#include <wchar.h>
void demo(const wchar_t* lhs, const wchar_t* rhs)
{
int rc = wcscmp(lhs, rhs);
const char *rel = rc < 0 ? "precedes" : rc > 0 ? "follows" : "equals";
setlocale(LC_ALL, "en_US.utf8");
printf("[%ls] %s [%ls]\n", lhs, rel, rhs);
}
int main(void)
{
const wchar_t* string = L"どうもありがとうございます";
demo(string, L"どうも");
demo(string, L"助かった");
demo(string + 9, L"ありがとうございます" + 6);
}Возможный вывод:
[どうもありがとうございます] follows [どうも] [どうもありがとうございます] precedes [助かった] [ざいます] equals [ざいます]
Справочные материалы
- Стандарт C23 (ISO/IEC 9899:2023):
- 7.29.4.4.1 Функция wcscmp (p: TBD)
- Стандарт C17 (ISO/IEC 9899:2018):
- 7.29.4.4.1 Функция wcscmp (p: TBD)
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.29.4.4.1 Функция wcscmp (p: 433)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.24.4.4.1 Функция wcscmp (p: 379)
См. также
|
(C95) | сравнивает определенное количество символов из двух строк с широкими символами (функция) |
|
(C95) | сравнивает определенное количество широких символов из двух массивов (функция) |
| сравнивает две строки (функция) |
|
|
(C95) | сравнивает две строки с широкими символами в соответствии с текущей локалью (функция) |
Документация C++ для wcscmp |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/string/wide/wcscmp