C++ btowc()

The btowc() function in C++ converts a character to its wide character equivalent.

The btowc() function is defined in <cwchar> header file.

btowc() prototype

wint_t btowc( int c );

The btowc() function takes a single byte character c as its argument and returns its wide character equivalent.

btowc() Parameters

  • c: The single byte character to convert to wide character.

btowc() Return value

The btowc() function returns the wide character representation of c if c is a valid single byte character. If c is EOF, WEOF is returned.

Example: How btowc() function works?

#include <cwchar>
#include <cstring>
#include <iostream>
using namespace std;

int main()
	char str[] = "Hello\xf4\xdf";
	wchar_t wc;
	int count = 0;
	for (int i=0; i<strlen(str); i++)
		wc = btowc(str[i]);
		if (wc != WEOF)
	cout << count << " out of " << strlen(str) << " characters were successfully widened";
	return 0;

When you run the program, the output will be:

5 out of 7 characters were successfully widened