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()用法及代碼示例
- C++ wcstold()用法及代碼示例
- C++ wcstod()用法及代碼示例
- C++ wcstok()用法及代碼示例
- C++ wcstof()用法及代碼示例
- C++ wcstol()用法及代碼示例
- C++ wcstoull()用法及代碼示例
- C++ wcstoll()用法及代碼示例
- C++ wcstoul()用法及代碼示例
- C++ wcsftime()用法及代碼示例
- C++ wcscspn()用法及代碼示例
- C++ wcsncmp()用法及代碼示例
- C++ wcsstr()用法及代碼示例
- C++ wcsrchr()用法及代碼示例
- C++ wcsncpy()用法及代碼示例
- C++ wcslen()用法及代碼示例
- C++ wcsspn()用法及代碼示例
- C++ wcschr()用法及代碼示例
- C++ wcspbrk()用法及代碼示例
- C++ wcscat()用法及代碼示例
注:本文由純淨天空篩選整理自 C++ wcstombs()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。