<sstream>
The <sstream>
header declares classes, templates, and other types for
reading from and writing to strings in the same manner as reading from
and writing to files.
See Chapter 9 for a general
discussion of I/O, Chapter 1 for
more information about character sets, and the <iostream>
section in this chapter for
information about the base-class templates required by the stringstream
class templates. Refer to Chapter 8 for information about traits in
general and to the <string>
section in this chapter for detailed information about the char_traits
template. Refer to the <streambuf>
section in this chapter for
information about the basic_streambuf
template. See also <strstream>
for classes that are similar to the string streams, except they work
with arrays of narrow characters.
To read from a string, use istringstream
; for writing, use ostringstream
; for reading and writing, use
stringstream
. For wide character I/O,
use wistringstream
, wostringstream
, or wstringstream
. Example 13-35 shows tostring
, a simple use of ostringstream
to convert a value to a string.
(Think of tostring
as the inverse of
strtol
and friends.)
template<typename T> std::string tostring(const T& x) { std::ostringstream out; out << x; return out.str( ); }
Example 13-36 shows a
use of istringstream
to interpret
HTML colors. In HTML, a color can be a name, such as white
, or a hexadecimal digit string that
begins with #
. The digit string is interpreted as a triplet ...
Get C++ In a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.