📜  C++ STL中的wcstombs()函数

📅  最后修改于: 2021-05-30 16:35:38             🧑  作者: Mango

wcstombs()是在C++ STL内置函数,其将一个宽为它的等效多字节序列。它在C++的cstdlib头文件中定义。

句法

wcstombs(d, s, n)

参数

  • d :这是一个参数,用于指定至少n个字节长的字符数组的指针。
  • s :它是指定要转换的宽字符字符串的参数。
  • n :该参数指定要转换的最大宽字符数。

返回值

  • 如果转换成功,则该函数返回转换后并写入字符串的字节数(不是字符 ),但不包括空字符(’\ 0’)。
  • 如果发生任何错误,则返回-1。

程序1

// Program to illustrate
// wcstombs function in C++
#include 
#include 
using namespace std;
  
int main()
{
    wchar_t s[] = L"GeeksforGeeks";
    char d[100];
    int n;
  
    n = wcstombs(d, s, 100);
    cout << "Number of wide character converted = "
         << n << endl;
    cout << "Multibyte Character String = "
         << d << endl;
  
    return 0;
}
输出:
Number of wide character converted = 13
Multibyte Character String = GeeksforGeeks

程序2

// Program to illustrate
// wcstombs function in C++
#include 
#include 
using namespace std;
  
int main()
{
    wchar_t s[] = L"10@Hello World!";
    char d[100];
    int n;
  
    n = wcstombs(d, s, 100);
    cout << "Number of wide character converted = "
         << n << endl;
    cout << "Multibyte Character String = "
         << d << endl;
  
    return 0;
}
输出:
Number of wide character converted = 15
Multibyte Character String = 10@Hello World!
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”