Latest web development tutorials

C 庫函數– mbtowc()

C 標準庫 - <stdlib.h> C標準庫- <stdlib.h>

描述

C庫函數int mbtowc(whcar_t *pwc, const char *str, size_t n)把一個多字節序列轉換為一個寬字符。

聲明

下面是mbtowc() 函數的聲明。

int mbtowc(whcar_t *pwc, const char *str, size_t n)

參數

  • pwc --指向類型為wchar_t對象的指針。
  • str --指向多字節字符的第一個字節的指針。
  • n --要被檢查的最大字節數。

返回值

  • 如果str 不為NULL,mbtowc() 函數返回str 開始消耗的字節數,如果指向一個空字節,則返回0,如果操作失敗,則返回-1。
  • 如果str 為NULL,如果編碼具有移位狀態,則mbtowc() 函數返回非零,如果編碼是無狀態的,則返回零。

實例

下面的實例演示了mbtowc() 函數的用法。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
   char *str = "这里是 w3cschool.cc";
   wchar_t mb[100];
   int len;
   
   len = mblen(NULL, MB_CUR_MAX); 

   mbtowc(mb, str, len*strlen(str) );
   
   wprintf(L"%ls \n", mb );   
   
   return(0);
}

讓我們編譯並運行上面的程序,這將產生以下結果,因為它要以多字節形式輸出結果,這是一種二進制輸出。

???

C 標準庫 - <stdlib.h> C標準庫- <stdlib.h>