📜  C++ wcscmp()

📅  最后修改于: 2020-09-25 09:50:57             🧑  作者: Mango

C++中的wcscmp() 函数比较两个以null结尾的宽字符串。比较是按字典顺序进行的。

wcscmp() 函数在头文件中定义。

wcscmp()原型

int wcscmp( const wchar_t* lhs, const wchar_t* rhs );

wcscmp() 函数采用两个参数: lhsrhs 。它按字典顺序比较了lhsrhs的内容。结果的符号是lhsrhs不同的第一对字符之间的差异的符号。

如果lhsrhs都不指向以null结尾的宽字符串,则wcscmp()的行为是不确定的。

wcscmp()参数

wcscmp()返回值

wcscmp() 函数返回:

示例: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"\u0102\u0070ple";
    wchar_t str2[] = L"\u00c4\u01f7ple";
    wchar_t str3[] = L"\u00c4\u01a4ple";
    
    compare(str1,str2);
    compare(str2,str3);
    
    return 0;
}

运行该程序时,输出为:

ÄǷple precedes Ăpple
ÄƤple precedes ÄǷple