当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ wcsrtombs()用法及代码示例


wcsrtombs()函数将宽字符转换为多字节字符串。此函数将* src表示的宽字符串转换为相应的多字节字符串,如果dest不为null,则存储在dest指向的字符数组中。最多可以将len个字符写入dest。

用法:

size_t wcsrtombs( char* dest, const wchar_t** src, size_t len, mbstate_t* ps )



参数:该函数接受四个强制性参数,如下所述:

  • dest : 指向足以存储一串最大字节的char元素数组的指针
  • src : 指向要翻译的宽字符串的指针
  • len : dest数组中可用的最大字节数
  • ps : 指向转换状态对象的指针

返回值:该函数返回两个值,如下所示:

  • 成功时,它将返回写入dest的字节数(不包括最终的终止空字符)
  • 如果发生某些错误,则返回-1并将errno设置为EILSEQ。

以下示例程序旨在说明上述函数:
示例1:

// C++ program to illustrate 
// wcsrtombs() function 
#include <bits/stdc++.h> 
using namespace std; 
  
int main() 
{ 
  
    // initialize the string 
    const wchar_t* src = L"Geekforgeeks"; 
  
    // maximum length of the dest 
    char dest[20]; 
  
    // intial state 
    mbstate_t ps = mbstate_t(); 
  
    // maximum length of multibyte character 
    int len = 12; 
  
    // function to convert wide-character 
    // to multibyte string 
    int value = wcsrtombs(dest, &src, len, &ps); 
  
    cout << "Number of multibyte characters = " << value << endl; 
  
    cout << "Multibyte characters written = " << dest << endl; 
  
    return 0; 
}
输出:
Number of multibyte characters = 12
Multibyte characters written = Geekforgeeks

示例2:

// C++ program to illustrate 
// wcsrtombs() function 
#include <bits/stdc++.h> 
using namespace std; 
  
int main() 
{ 
  
    // initialize the string 
    const wchar_t* src = L"This website is the best"; 
  
    // maximum length of the dest 
    char dest[20]; 
  
    // intial state 
    mbstate_t ps = mbstate_t(); 
  
    // maximum length of multibyte character 
    int len = 14; 
  
    // function to convert wide-character 
    // to multibyte string 
    int value = wcsrtombs(dest, &src, len, &ps); 
  
    cout << "Number of multibyte characters = " << value << endl; 
  
    cout << "Multibyte characters written = " << dest << endl; 
  
    return 0; 
}
输出:
Number of multibyte characters = 14
Multibyte characters written = This website i


相关用法


注:本文由纯净天空筛选整理自AmanSrivastava1大神的英文原创作品 wcsrtombs() function in C/C++。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。