std::basic_ios::narrow
From cppreference.com
                    
                                        
                    
                    
                                                            
                    | char narrow( char_type c, char dfault ) const; | ||
Converts a current locale-specific character c to its standard equivalent. The result is converted from char_type to char if needed. If no conversion can be performed, the function returns dfault.
Effectively calls std::use_facet< std::ctype<char_type> >(getloc()).narrow(c, dfault);.
[edit] Parameters
| c | - | character to convert | 
| dfault | - | character to return if the conversion was unsuccessful | 
[edit] Return value
Character converted to its standard equivalent and then to char. dfault is returned if the conversion fails.
[edit] See also
| widens characters (public member function) | |
| invokes do_narrow(public member function of std::ctype) | |
| narrows a wide character to a single-byte narrow character, if possible (function) | 


