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


C++ wcstombs()用法及代碼示例

C++ 中的wcstombs() 函數將寬字符串轉換為等效的多字節序列。

wcstombs() 函數在<cstdlib> 頭文件中定義。

wcstombs()原型

size_t wcstombs (char* dest, const wchar_t* src, size_t max);

wcstombs() 函數接受三個參數並返回一個整數值。

此函數將其第一個元素由src 指向的寬字符串轉換為其多字節表示。

結果存儲在 dest 指向的內存位置。參數 max 表示要轉換的最大寬字符數。

轉換機製與 wctomb 相同,隻是 wctomb 轉換狀態不受影響。如果出現以下情況,轉換將停止:

  • 遇到空字符,然後將其轉換並存儲。
  • 發現一個 wchar_t 與當前 C 語言環境中的有效字符不對應。
  • 已轉換最大寬字符數。

參數:

  • dest:指向生成的多字節字符數組的指針。
  • src:指向轉換為多字節字符的寬字符的第一個元素的指針。
  • max:要轉換的最大寬字符數。

返回:

  • 如果轉換成功,wcstombs() 返回多字節字符數,不包括寫入目標數組的終止字符(即'\0')。
  • 如果在轉換過程中發生任何錯誤,則返回 -1。

示例:wcstombs() 函數如何工作?

#include <iostream>
#include <cstdlib>
using namespace std;

int main()
{
	wchar_t src[] = L"Welcome To Programiz.com";
	char dest[50];
	int num;

	num = wcstombs(dest, src, 50);
	cout << "Number of wide character converted = " << num << endl;
	cout << "Multibyte Character String = " << dest << endl;
	
	return 0;
}

運行程序時,可能的輸出將是:

Number of wide character converted = 24
Multibyte Character String = Welcome To Programiz.com

相關用法


注:本文由純淨天空篩選整理自 C++ wcstombs()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。