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 -- 這是一個至少有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"/19/157/4594.html"; /* converting wide-character string */ ret = wcstombs(MB, WC, BUFFER_SIZE); printf("Characters converted = %u ", ret); printf("Multibyte character = %s ", MB); return(0); }
讓我們編譯和執行上面的程式,這將產生以下結果:
Characters converted = 29 Multibyte character = /19/157/4594.html