Функција вцсцмп () у Ц ++ упоређује два нулта завршна широка низа. Поређење се врши лексикографски.
Функција вцсцмп () је дефинисана у датотеци заглавља.
прототип вцсцмп ()
инт вцсцмп (цонст вцхар_т * лхс, цонст вцхар_т * рхс);
Функција вцсцмп () узима два аргумента: лхс и рхс. Лексикографски упоређује садржај лхс и рхс. Знак резултата је знак разлике између првих парова знакова који се разликују у лхс и рхс.
Понашање вцсцмп () је недефинисано ако било који од лхс или рхс не упућује на нулл завршене широке низове.
вцсцмп () Параметри
- лхс: Показивач на нулто завршени широки низ за упоређивање.
- рхс: Показивач на нулто завршени широки низ за упоређивање.
вцсцмп () Повратна вредност
Функција вцсцмп () враћа:
- позитивна вредност ако је први различити знак у лхс већи од одговарајућег карактера у рхс.
- негативна вредност ако је први знак који се разликује у лхс мањи од одговарајућег карактера у рхс.
- 0 ако су лхс и рхс једнаки.
Пример: Како функционише функција вцсцмп ()?
#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; )
Када покренете програм, излаз ће бити:
ǷǷпле претходи плеппле ƤƤпле претходи Ƿппле