• C++ Reference: Standard C++ Library reference: C Library: cwchar: wcstok


    C++官网参考链接:https://cplusplus.com/reference/cwchar/wcstok/

    函数

    wcstok
    wchar_t* wcstok (wchar_t* wcs, const wchar_t* delimiters, wchar_t** p);
    将宽字符串拆分为标记 
    对该函数的一系列调用将wcs拆分为标记,标记是由作为delimiters的一部分的任意宽字符分隔的连续宽字符序列。
    在第一次调用时,该函数期望一个C宽字符串作为wcs的实参,它的第一个字符用作扫描标记的起始位置。在随后的调用中,该函数期望一个空指针,并使用最后一个标记结束后的位置作为新的扫描起始位置。
    这是strtok)的宽字符等效函数,操作方式类似(详细信息请参阅strtok),但请注意,与strtok不同的是,此函数接受一个附加实参,在该实参中存储标记化过程的状态。

    形参 
    wcs
    要截断的C宽字符串。
    注意,此字符串的内容被修改并分解为更小的字符串(标记)。
    或者,可以指定空指针,在这种情况下,函数继续扫描之前成功调用该函数结束的位置。这需要第三个实参(p)与前一个调用相同。
    delimiters 
    包含分隔符宽字符的C宽字符串。
    这些在不同的调用中可能有所不同。
    p
    指向wchar_t指针的指针。该函数使用它来存储一个类型为wchar_t*的值,带有当前标记序列的状态。这个相同的指针将被传递给该函数的后续调用,以标记宽字符串的其余部分。

    返回值
    指向宽字符串中找到的最后一个标记的指针。
    如果没有标记可获取,则返回空指针。

    用例
    /* wcstok example */
    #include

    int main ()
    {
      wchar_t wcs[] = L"- This, a sample string.";
      wchar_t * pwc;
      wchar_t * pt;
      wprintf (L"Splitting wide string \"%ls\" into tokens:\n",wcs);
      pwc = wcstok (wcs, L" ,.-", &pt);
      while (pwc != NULL)
      {
        wprintf (L"%ls\n",pwc);
        pwc = wcstok (NULL, L" ,.-", &pt);
      }
      return 0;
    }
    输出:

  • 相关阅读:
    Python案例:获取music榜单数据,保存自己的music库
    UE4 镜头光晕(Lensflare)效果
    YOLOv5 onnx \tensorrt 推理
    【Vue脚手架项目的结构】
    javascript开发经验小结
    SringBoot 如何使用HTTPS请求及Nginx配置Https
    C#里如何简单的校验时间格式
    JAVA-WEB项目中,前后台结合AES和RSA对数据加密处理
    【20221114】【每日一题】子集
    Simple Linear Regression:ONE
  • 原文地址:https://blog.csdn.net/weixin_40186813/article/details/127510971