<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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access