描述
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語言 mbtowc()用法及代碼示例
- C語言 mblen()用法及代碼示例
- C語言 moveto()用法及代碼示例
- C語言 memmove()用法及代碼示例
- C語言 memchr()用法及代碼示例
- C語言 modf()用法及代碼示例
- C語言 moverel()用法及代碼示例
- C語言 mktime()用法及代碼示例
- C語言 malloc()用法及代碼示例
- C語言 memset()用法及代碼示例
- C語言 memcpy()用法及代碼示例
- C語言 memcmp()用法及代碼示例
- C語言 宏 assert()用法及代碼示例
- C語言 vprintf()用法及代碼示例
- C語言 宏 va_start()用法及代碼示例
- C語言 setlocale()用法及代碼示例
- C語言 fread()用法及代碼示例
- C語言 sinh()用法及代碼示例
- C語言 宏 offsetof()用法及代碼示例
- C語言 feof()用法及代碼示例
注:本文由純淨天空篩選整理自 C library function - mbstowcs()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。