Функция wmemcmp () в C ++ сравнивает указанное количество широких символов двух широких строк.
Функция wmemcmp () определена в заголовочном файле.
wmemcmp () прототип
int wmemcmp (const wchar_t * lhs, const wchar_t * rhs, количество size_t);
Функция wmemcmp () принимает три аргумента: lhs, rhs и count. Эта функция лексикографически сравнивает первые символы lhs и rhs.
Параметры wmemcmp ()
- lhs и rhs: указатель на массив широких символов для сравнения.
- count: Максимальное количество широких символов для сравнения.
wmemcmp () Возвращаемое значение
Функция wmemcmp () возвращает:
- положительное значение, если первый отличающийся широкий символ в левой части больше, чем соответствующий байт в правой части.
- отрицательное значение, если первый различающийся широкий символ в левой части меньше соответствующего байта в правой части.
- 0, если первые символы ширины счетчика lhs и rhs равны
Пример: как работает функция wmemcmp ()?
#include #include #include using namespace std; void compare(wchar_t *lhs, wchar_t *rhs, int count) ( int result = wmemcmp(lhs, rhs, count); if(result> 0) wcout << rhs << L" precedes " << lhs << endl; else if (result < 0) wcout << lhs << L" precedes " << rhs << endl; else wcout << L"First " << count << L" characters of " << lhs << L" and " << rhs << L" are same" << endl; ) int main() ( setlocale(LC_ALL, "en_US.utf8"); wchar_t lhs() = L"u0386u03a6u03aau03acu03c8u03c9u03ee"; wchar_t rhs() = L"u0386u03a6u03aau03acu03c0u03c7u03fb"; compare(lhs, rhs, 4); compare(lhs, rhs, 7); return 0; )
Когда вы запустите программу, вывод будет:
Первые 4 символа ΦψωϮ и ΆΦΪάπχϻ совпадают Φπχϻ предшествует ΆΦΪάψωϮ