當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C語言 wcstok用法及代碼示例


C語言wchar頭文件(wchar.h)中wcstok函數的用法及代碼示例。

用法:

wchar_t* wcstok (wchar_t* wcs, const wchar_t* delimiters, wchar_t** p);
將寬字符串拆分為令牌
對該函數的一係列調用splitwcs代幣,這些代幣是連續的寬字符序列,這些序列由作為定界符

第一次調用時,該函數需要一個C寬的字符串作為參數wcs,其第一個字符用作掃描令牌的起始位置。在隨後的調用中,該函數需要一個空指針,並使用最後一個標記結束後的位置作為掃描的新起始位置。

這是寬字符等價於strtok(<cstdlib>),並以類似的方式運行(請參見strtok有關更多詳細信息),但請注意,與strtok,此函數使用一個附加參數,該參數中存儲了令牌化過程的狀態。

參數

wcs
要截斷的C寬字符串。
請注意,該字符串的內容已被修改並分解為較小的字符串(令牌)。
或者,可以指定一個空指針,在這種情況下,函數將繼續掃描,而先前對函數的成功調用結束了。這需要第三個參數(p)與上一個調用中的相同。
delimiters
包含定界符寬字符的C寬字符串。
這些可能因一個調用而異。
p
指向一個指針wchar_t指針。該函數使用它來存儲類型的值wchar_t*具有當前標記化序列的狀態。該相同的指針應傳遞給對該函數的後續調用,以標記寬字符串的其餘部分。

返回值

指向寬字符串中找到的最後一個標記的指針。
如果沒有要檢索的令牌,則返回一個空指針。

示例

/* wcstok example */
#include <wchar.h>

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;
}


輸出:

Splitting wide string "- This, a sample string." into tokens:
This
a
sample
string


相關用法


注:本文由純淨天空篩選整理自C標準庫大神的英文原創作品 C wcstok function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。