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


C語言 swscanf用法及代碼示例


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

用法:

int swscanf (const wchar_t* ws, const wchar_t* format, ...);
從字符串中讀取格式化的數據
從寬字符串中讀取數據ws並根據參數存儲它們格式進入附加參數指定的位置,就好像wscanf使用過,但從ws而不是標準輸入(stdin)。

附加參數應指向已分配的對象,這些對象的類型由其對應的格式說明符在格式細繩。

這是寬字符等價於sscanf(<cstdio>)。

參數

ws
函數將其用作檢索數據的源代碼的C寬字符串。
format
包含格式字符串的C寬字符串,其格式與格式scanf(參考scanf有關詳細信息)。
但是請注意,所有格式說明符的含義都與scanf;所以,%lc應用於讀取寬字符(而不是%c), 也%ls應該用於寬字符串(而不是%s)。
... (additional arguments)
取決於格式字符串,函數可能需要一係列附加參數,每個參數都包含一個指向分配存儲的指針,在該存儲中,提取的字符的解釋將以適當的類型存儲。
這些參數至少應與參數存儲的值數量一樣多。格式說明符。該函數將忽略其他參數。

返回值

成功後,函數將返回參數列表中已成功填充的項目數。在匹配失敗的情況下,此計數可以匹配預期的項目數,或者小於甚至為零。
如果輸入失敗,則無法成功解釋任何數據,EOF返回。

示例

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

int main ()
{
  wchar_t sentence [] = L"Michael is 10 years old";
  wchar_t str [20];
  int i;

  swscanf (sentence,L"%ls %*s %d",str,&i);
  wprintf (L"%ls -> %d\n",str,i);

  return 0;
}


輸出:
Michael -> 10

相關用法


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