Hàm wcscoll () trong C ++ so sánh hai chuỗi kết thúc bằng rỗng. So sánh dựa trên ngôn ngữ hiện tại được xác định bởi danh mục LC_COLLATE.
Hàm wcscoll () được định nghĩa trong tệp tiêu đề.
nguyên mẫu wcscoll ()
int wcscoll (const wchar_t * lhs, const wchar_t * rhs);
Hàm wcscoll () nhận hai đối số: lhs và rhs. Nó so sánh nội dung của lhs và rhs dựa trên ngôn ngữ hiện tại của danh mục LC_COLLATE .
Tham số wcscoll ()
- lhs và rhs: Con trỏ đến các chuỗi rộng được kết thúc bằng rỗng để so sánh.
wcscoll () Giá trị trả về
Hàm wcscoll () trả về:
- giá trị dương nếu ký tự khác biệt đầu tiên trong lhs lớn hơn ký tự tương ứng trong rhs.
- giá trị âm nếu ký tự khác biệt đầu tiên trong lhs nhỏ hơn ký tự tương ứng trong rhs.
- 0 nếu lhs và rhs bằng nhau.
Ví dụ: Hàm wcscoll () hoạt động như thế nào?
#include #include #include using namespace std; void compare(const wchar_t* p1, const wchar_t* p2) ( if(wcscoll(p1, p2) < 0) wcout << p1 << L" precedes " << p2 < 0) wcout << p2 << L" precedes " << p1 << ''; else wcout << p2 << L" equals " << p1 << ''; ) int main() ( wchar_t str1() = L"årtist"; wchar_t str2() = L"äpple"; setlocale(LC_ALL, "en_US.utf8"); wcout << L"In the American locale: "; compare(str1, str2); setlocale(LC_ALL, "sv_SE.utf8"); wcout << L"In the Swedish locale: "; compare(str1, str2); return 0; )
Khi bạn chạy chương trình, đầu ra sẽ là:
Trong ngôn ngữ Mỹ: äpple đứng trước årtist Trong ngôn ngữ Thụy Điển: årtist đứng trước äpple