Синтаксис:
#include <sstream> stringstream(); explicit stringstream( ios_base::openmode mode ); stringstream( const string& s, ios_base::openmode mode ); ostringstream(); explicit ostringstream( ios_base::openmode mode ); ostringstream( const string& s, ios_base::openmode mode ); istringstream(); explicit istringstream( ios_base::openmode mode ); istringstream( const string& s, ios_base::openmode mode );
Объекты stringstream, ostringstream, и istringstream используются для ввода и вывода информации в строку. Они аналогинчы объектам fstream, ofstream и ifstream.
Опциональный параметр mode определяет, как открыть файл, в соответствии с флагами потоков ввода/вывода.
Объект ostringstream можно использовать для записи данных в строку. Эта операция аналогична функции sprintf стандартной библиотеки С.
Например:
ostringstream s1; int i = 22; s1 << "Hello " << i << endl; string s2 = s1.str(); cout << s2;
Объект istringstream можно использовать для чтения данных из строки. Эта операция аналогична функции sscanf стандартной библиотеки С.
Например:
istringstream stream1; string string1 = "25"; stream1.str(string1); int i; stream1 >> i; cout << i << endl; // displays 25
Вы можете также определить строку для ввода в конструкторе istringstream, как в следующем примере:
string string1 = "25"; istringstream stream1(string1); int i; stream1 >> i; cout << i << endl; // displays 25
Объект stringstream может быть также использован и для ввода и для вывода строки, как объект fstream.
Смотрите также: C++ I/O streams