
- The C Standard Library
- The C Standard Library
- The C++ Standard Library
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
C++ Locale Library - out
Description
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.
Declaration
Following is the declaration for std::ctype::out.
C++98
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;
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.
Return Value
It returns codecvt_base::result.
Exceptions
If an exception is thrown, there are no changes in the facet object, although characters in the range may have been affected.
Data races
The object, and the elements in the range [low,high), are accessed.
Example
In 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