📜  C++ wcstok()

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

C++中的wcstok() 函数以空终止的宽字符串返回下一个标记。

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

wcstok()原型

wchar_t* wcstok( wchar_t* str, const wchar_t* delim, wchar_t ** ptr);

wcstok() 函数采用三个参数:str,delim和ptr。此函数在str指向的宽字符串找到标记。指针delim指向分隔字符。

可以多次调用此函数 ,以从同一宽字符串获取令牌。有两种情况:

wcstok()参数

wcstok()返回值

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

#include 
#include 
#include 
using namespace std;

int main()
{
    setlocale(LC_ALL, "en_US.utf8");
    
    wchar_t str[] = L"parrot,owl,sparrow,pigeon,crow";
    wchar_t delim[] = L"\u002c";// unicode for comma
    wchar_t *ptr;
    
    wcout << L"The tokens are:" << endl;
    wchar_t *token = wcstok(str,delim,&ptr);
    
    while (token)
    {
        wcout << token << endl;
        token = wcstok(NULL,delim,&ptr);
    }
    
    return 0;
}

运行该程序时,输出为:

The tokens are:
parrot
owl
sparrow
pigeon
crow