Предыдущий пост -
Следующий пост -

std::basic_istringstream.

Рубрика: sstream, Дата: 15 August, 2013, Автор:

Входной строковый поток.

Функции унаследованные от basic_istream и ios_base: event, evetn_callback, failure, fmtflags, Init, iostate, openmode, seekdir, sentry.

Рассмотрим собственные члены функции.

constructor

#include <iostream>
using std::cout;
#include <sstream>
using std::stringstream;
#include <string>
using std::string;

int main()
{
	string val("123 333 434 45453");
	stringstream s(val);//инициализация строкового потока

	for(int i=0;i<4;i++)
	{
		int val;
		s >>val;
		cout <<val<<'\n';
	}

	return 0;
}

 

basic_istringstream::str()

Получить установить контент.

#include <iostream>
using std::cout;
#include <sstream>
using std::istringstream;
#include <string>
using std::string;

int main()
{
	string val="111 222 333 444";
	istringstream s(val);

	for(int i=0;i<4;i++)
	{
		int n;
		s >>n;
		cout <<n<<'\n';
	}

	cout <<"s.str()= "<<s.str()<<'\n';

	return  0;
}

 

basic_istringstream::rdbaf()

Получить потоковый буфер.

#include <string>
using std::string;
#include <iostream>
using std::cout;
#include <sstream>
using std::istringstream;
using std::stringbuf;

int main()
{
	istringstream s;
	stringbuf* sb=s.rdbuf();

	sb->str("hellow world");

	int size=sb->in_avail();

	while(sb->in_avail()>0)
	{
		cout <<static_cast<char>(sb->sbumpc());
	}

	return 0;
}

 

basic_istringstream::swap()

Функция видимо обменивает потоки.

#include <iostream>
using std::cout;
#include <sstream>
using std::istringstream;
#include <string>
using std::string;

int main()
{
	istringstream s1("100");
	istringstream s2("200");

	int n;

	s1.swap(s2);

	s1 >>n; cout <<n<<'\n';
	s2 >>n; cout <<n<<'\n';

	return 0;
}

 

Функции члены унаследованные от basic_istream: operator>>, gcount, get, getline, ignore, peek, read, readsome, putback, unget, tellg, seekg, sync.

Функции члены унаследованные от basic_ios: good, eof, fail, bad, operator!, operator bool, rdstate, setstate, clear, copyfmt, fill, exceptions, imbue, tie, rdbuf, narrow, widen.

Функции члены унаследованные от ios_base: flags, setf, unsetf, precision, width, imbue,  getloc, xalloc, iword, pword, register_callback, sync_with_stdio.

И функция которая сама по себе swap:

#include <iostream>
using std::cout;
#include <sstream>
using std::istringstream;
#include <string>
using std::string;

int main()
{
	istringstream s1("100");
	istringstream s2("200");

	int n;

	swap(s2,s1);

	s1 >>n; cout <<n<<'\n';
	s2 >>n; cout <<n<<'\n';

	return 0;
}

[youtube]https://www.youtube.com/watch?v=0ruoL1aHs38[/youtube]

rss