The C++ std::ios::narrow() function is a utility for converting wide character strings (wchar_t*) to the narrow character strings (char*). It is used in conjunction with the ios class, which handles input/output operations. It takes a wide character string and a default character (to handle cases where conversion is not possible) and returns a narrow character string.
SyntaxFollowing is the syntax for std::ios::narrow() function.
char narrow (char c, char dfault) const;Parameters
It returns the narrow character of the string Otherwise, it returns default character.
ExceptionsIf an exception is thrown, there are no changes in the stream.
Data racesAccesses the stream object.
Concurrent access to the same stream object may cause data races.
ExampleIn the following example, we are going to consider the basic wide to narrow conversion.
#include <iostream> #include <string> #include <locale> #include <codecvt> int main() { std::wstring x = L"Welcome To, TurorialsPoint!"; std::wstring_convert<std::codecvt_utf8<wchar_t>> converter; std::string y = converter.to_bytes(x); std::cout << "Result : " << y << std::endl; return 0; }Output
Output of the above code is as follows −
Result : Welcome To, TurorialsPoint!Example
Consider the following example, where we are going to perform the empty wide string conversion and observing the output.
#include <iostream> #include <string> #include <locale> #include <codecvt> int main() { std::wstring x = L""; std::wstring_convert<std::codecvt_utf8<wchar_t>> converter; std::string y = converter.to_bytes(x); std::cout << "Result : '" << y << "'" << std::endl; return 0; }Output
Following is the output of the above code −
Result : ''
ios.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4