當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C語言 wcstombs用法及代碼示例


C語言stdlib頭文件(stdlib.h)中wcstombs函數的用法及代碼示例。

用法:

size_t wcstombs (char* dest, const wchar_t* src, size_t max);
將寬字符字符串轉換為多字節字符串
翻譯由指向的序列中的寬字符src到多字節等效序列(存儲在由指向的數組中)dest),直到其中一個max字節已翻譯或直到寬字符翻譯為空字符

如果max字節已成功轉換,結果字符串存儲在dest不是以Null結尾的。

產生的多字節序列以初始移位狀態(如果有)開始。

此函數的行為取決於LC_CTYPE所選類別C語言環境

參數

dest
指向數組的指針char足夠長以包含結果序列的元素(最多,max個字節)。
src
要轉換的C寬字符串。
max
要寫入的最大字節數dest
size_t是無符號整數類型。

返回值

寫入的字節數dest,不包括最終的結尾null-character。
如果遇到與有效的多字節字符不對應的寬字符,則(size_t)-1返回值。
注意size_t是無符號整數類型,因此可能返回的值都不小於零。

示例

/* wcstombs example */
#include <stdio.h>      /* printf */
#include <stdlib.h>     /* wcstombs, wchar_t(C) */

int main() {
  const wchar_t str[] = L"wcstombs example";
  char buffer[32];
  int ret;

  printf ("wchar_t string: %ls \n",str);

  ret = wcstombs ( buffer, str, sizeof(buffer) );
  if (ret==32) buffer[31]='\0';
  if (ret) printf ("multibyte string: %s \n",buffer);

  return 0;
}


輸出:

wchar_t string: wcstombs example 
multibyte string:  wcstombs example 



相關用法


注:本文由純淨天空篩選整理自C標準庫大神的英文原創作品 C wcstombs function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。