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


C語言 mbstowcs()用法及代碼示例


描述

C庫函數size_t mbstowcs(schar_t *pwcs, const char *str, size_t n)轉換由參數指向的 multi-byte 個字符的字符串str指向的數組pwcs

聲明

以下是 mbstowcs() 函數的聲明。

size_t mbstowcs(schar_t *pwcs, const char *str, size_t n)

參數

  • pwcs- 這是指向 wchar_t 元素數組的指針,該數組的長度足以存儲寬字符串 max 個字符的長度。

  • str− 這是要解釋的 C multi-byte 字符串。

  • n- 這是要解釋的 wchar_t 字符的最大數量。

返回值

此函數返回翻譯的字符數,不包括結尾 null-character。如果遇到無效的 multi-byte 字符,則返回 -1 值。

示例

下麵的例子展示了 mbstowcs() 函數的用法。

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

int main () {
   int len;
   char *pmbnull  = NULL;
   char *pmb = (char *)malloc( MB_CUR_MAX );
   wchar_t *pwc = L"Hi";
   wchar_t *pwcs = (wchar_t *)malloc( sizeof( wchar_t ));

   printf("Converting to multibyte string\n");
   len = wcstombs( pmb, pwc, MB_CUR_MAX);
   printf("Characters converted %d\n", len);
   printf("Hex value of first multibyte character:%#.4x\n", pmb);
   
   printf("Converting back to Wide-Character string\n");
   len = mbstowcs( pwcs, pmb, MB_CUR_MAX);
   printf("Characters converted %d\n", len);
   printf("Hex value of first wide character %#.4x\n\n", pwcs);
   
   return(0);
}

讓我們編譯並運行上麵的程序,將產生以下結果 -

Converting to multibyte string
Characters converted 1
Hex value of first multibyte character:0x19a60010
Converting back to Wide-Character string
Characters converted 1
Hex value of first wide character 0x19a60030

相關用法


注:本文由純淨天空篩選整理自 C library function - mbstowcs()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。