C 庫函數– wcstombs()
描述
C庫函數size_t wcstombs(char *str, const wchar_t *pwcs, size_t n)把寬字符字符串pwcs轉換為一個str開始的多字節字符串。 最多會有n個字節被寫入str中。
聲明
下面是wcstombs() 函數的聲明。
size_t wcstombs(char *str, const wchar_t *pwcs, size_t n)
參數
- str --指向一個char元素的數組,至少有n字節長。
- pwcs --要被轉換的寬字符字符串。
- n --要被寫入到str中的最大字節數。
返回值
該函數返迴轉換和寫入到str 中的字節數,不包括結尾的空字符。 如果遇到一個無效的多字節字符,則返回-1 值。
實例
下面的實例演示了wcstombs() 函數的用法。
#include <stdio.h> #include <stdlib.h> #define BUFFER_SIZE 50 int main() { size_t ret; char *MB = (char *)malloc( BUFFER_SIZE ); wchar_t *WC = L"http://www.w3cschool.cc"; /* 转换宽字符字符串 */ ret = wcstombs(MB, WC, BUFFER_SIZE); printf("要转换的字符数 = %u\n", ret); printf("多字节字符 = %s\n\n", MB); return(0); }
讓我們編譯並運行上面的程序,這將產生以下結果:
要转换的字符数 = 23 多字节字符 = http://www.w3cschool.cc