📜  C++ wcspbrk()

📅  最后修改于: 2020-09-25 10:00:37             🧑  作者: Mango

C++中的wcspbrk() 函数在另一个宽字符串中的宽字符串中搜索一组宽字符 。

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

wcspbrk()原型

const wchar_t* wcspbrk( const wchar_t* dest, const wchar_t* str );
wchar_t* wcspbrk( wchar_t* dest, const wchar_t* str );

wcspbrk() 函数采用两个以null终止的宽字符串: destsrc作为其参数。

它搜索dest指向的以null终止的宽字符串 ,以查找src指向的宽字符串存在的任何宽字符 ,并返回指向dest中也可以在src找到的第一个宽字符的指针。

wcspbrk()参数

wcspbrk()返回值

如果destsrc指针共有一个或多个宽字符 ,则wcspbrk() 函数将指针返回到dest中的第一个宽字符 ,该指针也位于src

如果dest不存在src宽字符 ,则返回空指针。

示例:wcspbrk() 函数如何工作?

#include 
#include 
#include 
using namespace std;

int main()
{
    setlocale(LC_ALL, "en_US.utf8");
    
    wchar_t src[] = L"0123456789";
    wchar_t dest[] = L"\u0126\u014b\u01b8\u0246\u006a\u0039\u00b5\u04c5\u0927\u0032\u1264";
    wchar_t *s = wcspbrk(dest, src);
    int pos;
    
    if (s)
    {
        pos = s-dest;
        wcout << L"First occurrence of number in \"" << dest << L"\" is at position " << pos << endl;
    }
    else
        wcout << L"No number found in \"" << dest << "\"";
    
    return 0;
}

运行该程序时,输出为:

First occurrence of number in "ĦŋƸɆj9µӅध2ቤ" is at position 5