Giriş
Şu satırı dahil ederiz.
Önce yazıp sonra okumak için şöyle yaparız
Şöyle yaparız.
Örnek - satır okuma
Satır okumak için şöyle yaparız.
Şöyle yaparız.
streambuf nesnesine string yazmak ve daha sonra tekrar string elde etmek için şöyle yaparız.
InputStrem'den iterator almak için şöyle yaparız.
Şu satırı dahil ederiz.
#include <boost/asio/streambuf.hpp>
#include <boost/asio/buffer.hpp>
Örnek - primitive okumaÖnce yazıp sonra okumak için şöyle yaparız
boost::asio::streambuf sb;
// now write:
{
std::ostream os(&sb);
os << "Hello 1 2 3" << std::flush;
}
// or read:
{ std::istream is(&sb);
std::string s;
int a, b, c;
is >> s >> a >> b >> c;
}
Örnek - satır okumaŞöyle yaparız.
std::string extract_istream(asio::streambuf& sb)
{
std::istream is(std::addressof(sb));
std::string line;
std::getline(is, line);
return line;
}
Örnek - satır okuma
streambuf nesnesi şöyle bir string ile dolu olsun.Love is a beautiful thing\n
Way more beautiful than money\n
It is clear that
Satır satır okumak için şöyle yaparız.istream is(&buffer);
for (std::string line; getline(is, line); )
// process the line
3 tane satır okuruz. Son satır \n ile bitmediği halde stream'in sonu olduğu için okunur.Örnek - satır okuma
Satır okumak için şöyle yaparız.
boost::asio::streambuf buf;
/*put data into buf*/
std::istream is(&buf);
std::string line;
std::getline(is, line);
Örnek - satır okumaŞöyle yaparız.
boost::asio::streambuf sb;
auto bytes = boost::asio::read_until(socket, sb, "\r\n\r\n");
std::istream is(&sb);
std::string line;
while (getline(is, line) && !line.empty()) {
std::cout << "Received: '" << line << "'\n";
}
// sb still contains un-consumed data, if any
Örnek - tümünü string olarak okumastreambuf nesnesine string yazmak ve daha sonra tekrar string elde etmek için şöyle yaparız.
/* Convert std::string --> boost::asio::streambuf */
boost::asio::streambuf sbuf;
std::iostream os(&sbuf);
std::string message("Teststring");
os << message;
/* Convert boost::asio::streambuf --> std::string */
std::string str((std::istreambuf_iterator<char>(&sbuf)),
std::istreambuf_iterator<char>());
std::cout << str << std::endl;
Şöyle yaparız.asio::streambuf request;
asio::read_until(*sock.get(), request, '\n');
std::string s( (std::istreambuf_iterator<char>(&request)),
std::istreambuf_iterator<char>() );
Örnek - iterator haline getirmeInputStrem'den iterator almak için şöyle yaparız.
std::istream stream(&buf);
std::istream_iterator<char> begin(stream); std::istream_iterator<char> end;
Hiç yorum yok:
Yorum Gönder