Latest web development tutorials

C 庫函數– wcstombs()

C 標準庫 - <stdlib.h> C標準庫- <stdlib.h>

描述

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

C 標準庫 - <stdlib.h> C標準庫- <stdlib.h>