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

std::istringstream.

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

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

Члены и типы унаследованные от istream и ios_base: event, event_callback, failure, fmtflags, Init, iostate, openmode, seekdir, sentry.

Собственные функции члены:

constructor

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

int main()
{
	string val="333 444 555 666 777";
	istringstream s(val);

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

	return 0;
}

 

istringstream::str()

Получить установить содержимое.

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

int main()
{
	string val="333 444 555 666 777";
	istringstream s;
	s.str(val);

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

	return 0;
}

 

istringstream::rdbuf()

Получить буфер строкового потока.

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

int main () {
  istringstream iss;
  stringbuf *pbuf = iss.rdbuf();

  // using stringbuf directly:
  pbuf->str("hellow world");

  int size = pbuf->in_avail();

  while (pbuf->in_avail()>0)
    std::cout << static_cast<char>(pbuf->sbumpc());

  return 0;
}

 

istringstream::swap()

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

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

int main () {
  istringstream is1("100");
  istringstream is2("200");
  
  is1.swap(is2);

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

  return 0;
}

 

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

Функции члены унаследованные от 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()

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

int main () {
  istringstream is1("100");
  istringstream is2("200");
  
  swap(is2,is1);

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

  return 0;
}

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

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *