Funkcia wcscmp () v C ++ porovnáva dva široké reťazce zakončené nulou. Porovnanie sa robí lexikograficky.
Funkcia wcscmp () je definovaná v hlavičkovom súbore.
prototyp wcscmp ()
int wcscmp (const wchar_t * lhs, const wchar_t * rhs);
Funkcia wcscmp () má dva argumenty: lhs a rhs. Lexikograficky porovnáva obsah lhs a rhs. Znak výsledku je znakom rozdielu medzi prvými pármi znakov, ktoré sa líšia v lhs a rhs.
Chovanie wcscmp () je nedefinované, ak ani jeden z lhs ani rhs neukazujú na široké reťazce zakončené nulou.
Parametre wcscmp ()
- lhs: Ukazovateľ na nulový ukončený široký reťazec na porovnanie.
- rhs: Ukazovateľ na široký reťazec zakončený hodnotou null na porovnanie.
wcscmp () Vrátená hodnota
Funkcia wcscmp () vracia a:
- kladná hodnota, ak je prvý odlišný znak v lhs väčší ako zodpovedajúci znak v rhs.
- záporná hodnota, ak je prvý odlišný znak v lhs menší ako zodpovedajúci znak v rhs.
- 0, ak sú lhs a rhs rovnaké.
Príklad: Ako funguje funkcia wcscmp ()?
#include #include #include using namespace std; void compare(wchar_t *lhs, wchar_t *rhs) ( int result; result = wcscmp(lhs, rhs); if(result> 0) wcout << rhs << " precedes " << lhs << endl; else if (result < 0) wcout << lhs << " precedes " << rhs << endl; else wcout << lhs << " and " << rhs << " are same" << endl; ) int main() ( setlocale(LC_ALL, "en_US.utf8"); wchar_t str1() = L"u0102u0070ple"; wchar_t str2() = L"u00c4u01f7ple"; wchar_t str3() = L"u00c4u01a4ple"; compare(str1,str2); compare(str2,str3); return 0; )
Po spustení programu bude výstup:
ÄǷple predchádza Ăpple ÄƤple predchádza ÄǷple