It used to translate out characters and the function stops converting as soon as it fails to convert a character, or once from_end is reached and its character is successfully converted.
DeclarationFollowing is the declaration for std::ctype::out.
C++98result out (state_type& state, const intern_type* from, const intern_type* from_end, const intern_type*& from_next, extern_type* to, extern_type* to_limit, extern_type*& to_next) const;C++11
result out (state_type& state, const intern_type* from, const intern_type* from_end, const intern_type*& from_next, extern_type* to, extern_type* to_limit, extern_type*& to_next) const;Parameters
state − It is a state object.
from, from_end − It is used to find initial and final characters of the source sequence.
from_next − It is used to find an element in the above range.
to_next − It is used to find an element in the above range.
It returns codecvt_base::result.
ExceptionsIf an exception is thrown, there are no changes in the facet object, although characters in the range may have been affected.
Data racesThe object, and the elements in the range [low,high), are accessed.
ExampleIn below example explains about std::ctype::out.
#include <iostream> #include <locale> #include <string> #include <cwchar> int main () { typedef std::codecvt<wchar_t,char,std::mbstate_t> facet_type; std::locale mylocale; const facet_type& myfacet = std::use_facet<facet_type>(mylocale); std::wstring mywstring; std::cout << "Enter a sentence: "; std::getline (std::wcin,mywstring); std::wstring::size_type length = mywstring.length(); char* pstr= new char [length+1]; std::mbstate_t mystate = std::mbstate_t(); const wchar_t* pwc; char* pc; facet_type::result myresult = myfacet.out (mystate, mywstring.c_str(), mywstring.c_str()+length+1, pwc, pstr, pstr+length+1, pc); if (myresult==facet_type::ok) std::cout << "Translation successful and sentance should be: " << pstr << '\n'; delete[] pstr; return 0; }
Let us compile and run the above program, this will produce the following result −
Enter a sentence: sai ram Translation successful and sentance should be: sai ram
locale.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