Open In App

wcstombs() function in C++ STL

Improve
Improve
Like Article
Like
Save
Share
Report

wcstombs() is a builtin function in C++ STL which converts a wide character string to its equivalent multibyte sequence. It is defined within the cstdlib header file of C++. Syntax

wcstombs(d, s, n)

Parameters:

  • d: It is the parameter which specifies the pointer to a character array at least n bytes long.
  • s: It is the parameter which specifies wide-character string to be converted.
  • n: It is the parameter which specifies maximum number of wide characters to be converted.

Return Value:

  • If the conversion is successful then the function returns the number of bytes (not characters) converted and written to the string, excluding the terminating null character(‘\0’).
  • If any error is occurred then, -1 is returned.

Program 1

CPP




// Program to illustrate
// wcstombs function in C++
#include <cstdlib>
#include <iostream>
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;
}


Output:

Number of wide character converted = 13
Multibyte Character String = GeeksforGeeks

Program 2

CPP




// Program to illustrate
// wcstombs function in C++
#include <cstdlib>
#include <iostream>
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;
}


Output:

Number of wide character converted = 15
Multibyte Character String = 10@Hello World!


Last Updated : 06 Jun, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads