草庐IT

libboost_iostreams

全部标签

c++ - `#include <iostream>` 和 `-std=c++0x` 坏了

如果我指定-std=c++0x到g++,那么我不能#include.我收到以下错误消息(mingw下的g++4.4.0):Infileincludedfromc:\qt\2010.05\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/bits/postypes.h:42,fromc:\qt\2010.05\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/iosfwd:42,fromc:\qt\2010.05\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c

c++ - 在 Ctrl+Z (EOF) 后恢复从 iostream::cin 读取? ("ignore"不起作用)

为什么当我们只为内部循环提供ctrl+z时,下面程序中的外部循环会终止?#includeintmain(){strings1,s2;while(cin>>s1){cout>s2)cout 最佳答案 按Ctrl+z(在Windows上)关闭标准输入流。一旦关闭,它就会保持关闭状态。内循环完成后,它不会神奇地重新打开。没有理由会这样。 关于c++-在Ctrl+Z(EOF)后恢复从iostream::cin读取?("ignore"不起作用),我们在StackOverflow上找到一个类似的问题

c++ - 使用 boost::archive 和 boost::iostreams 来压缩数据

我想为一个可以选择性地压缩数据的类编写一个序列化函数。我想使用boost::iostreams中提供的压缩工具。有谁知道如何做到这一点?structX{X(){}templatevoidserialize(Archive&ar,constunsignedintversion){ar&compression;if(compression==0){ar&data;}elseif(compression==1){//useboost::iostreamcompression//facilitiestoserializedata}}intcompression;std::vectordata;

c++ - Eclipse CDT 中的虚假错误:boost::iostreams

我在EclipseCDT(JunoSR1)中有以下代码:#include#include#include#include#includeintmain(){usingnamespacestd;namespaceio=boost::iostreams;ifstreamfile("data.gz",ios_base::in|ios_base::binary);io::filtering_streambufin;in.push(io::gzip_decompressor());//errorherein.push(file);//andhere}g++4.7.2代码没有问题。然而,Eclip

c++ - 静态顺序初始化失败,iostream 和 C++11

根据C++11规范:Theresultsofincludinginatranslationunitshallbeasifdefinedaninstanceofios_base::Initwithstaticstorageduration.Similarly,theentireprogramshallbehaveasiftherewereatleastoneinstanceofios_base::Initwithstaticstorageduration这意味着如果我的代码看起来像这样://A.cpp#includeusingnamespacestd;unsignedlongfoo(){

c++ - 为什么整数溢出会导致 C++ iostream 出错?

好的,所以我对C++iostream有一些感觉很奇怪的问题,但它可能是定义的行为,考虑到MSVC++和G++都会发生这种情况。假设我有这个程序:#includeusingnamespacestd;intmain(){inta;cin>>a;cout>a;cout如果我通过给第一个cin一个大于int的最大限制的值来故意溢出,所有对cin.operator>>()的进一步调用将由于某种原因立即返回,并且a被设置为某个值。该值似乎未定义。为什么,这种行为记录在哪里?有没有办法确定是否发生了这种溢出?另外,这个类似的程序似乎可以按我的预期运行。如果我溢出该值,它会为a提供一些值,并继续进行,

c++ - 为什么 iostream 包含 time.h?

考虑这段代码:#includetemplatestructtime{};intmain(){}它产生(GCC4.5):error:‘templatestructtime’redeclaredasdifferentkindofsymbol/usr/include/time.h:186:15:error:previousdeclarationof‘time_ttime(time_t*)’为什么iostream包括time_ttime(time_t*)?为什么iostream包括time_ttime(time_t*)外面std命名空间?(未回答)为什么,如果我删除template,我不会收到

c++ - iostream 使用 << 构造字符串

intiCount;charszB[128];sprintf(szB,"%03i",iCount); 最佳答案 usingnamespacestd;stringstreamss;ss 关于c++-iostream使用 https://stackoverflow.com/questions/2168362/

c++ - 将 fork() 与 boost::asio::ip::tcp::iostream 一起使用是否安全?

我正在尝试守护一个简单的TCP客户端,虽然客户端在前台工作得很好,但守护它会导致奇怪的行为。作为测试用例,我有一个服务器,一旦您连接并发送一条消息(“已连接”),它就会每秒向您发送一次连接的秒数。如果我进行守护进程(通过调用Test::Connect(true)),连接会在任意时间后断开,即使在成功接收到一些数字后也是如此。如果我不进行守护进程(通过调用Test::Connect(false)),连接将保持事件状态并且我会继续按预期接收号码。#include#include#include#includeclassTest{public:Test(){io=nullptr;}voidC

c++ - boost asio iostream - 如何获取本地IP地址

这是我的问题:我正在使用boost::asio::ip::tcp::iostream连接到服务器:boost::asio::ip::tcp::iostreams(IP,"1237");现在我想检索我自己的本地IP地址。我在谷歌深处的某个地方找到了如何用socket做到这一点。,但是流呢?我希望由于tcp::iostream是建立在套接字之上的,所以它应该是这样的:s.local_endpoint().address()但是在用google和duckduckgo进行了长时间的搜索之后,我不知道该怎么做。我已经尝试了几种最明显的排列,但仍然没有运气。那么,有什么简单的方法可以做到这一点,还