使用istringstream给出错误|为什么

时间:2011-11-11 09:29:49

标签: c++ string split

我有一个我创建的二进制文件。在其中,数据以二进制形式存储,但我将以人类可读的形式显示,如;

 [someOtherData]6759A_block$[someOtherData]

我在temp_S中持有数据“6759A_block $”,它被声明为字符串。现在,我希望从temp_S开始分割前3个字节,然后将其存储在unsigned int中。为了实现我的愿望,我在下面写了代码段;

 unsigned int number;
 { 
 string tmp ( temp_S , 0  ,3 ); 
 istringstream temp_Istream ( tmp ) ;
 temp_Istream >> number;
 }

但是,当我编译我的小程序时,它会给出如下所示的错误;

error: variable ‘std::istringstream temp_S’ has initializer but incomplete type

我的问题是:

  • 此编译器错误的含义是什么?
  • 我该如何解决这个问题,并将前三个字节的数据带到unsigned int?

编辑:

  • platform linux
  • 克++

1 个答案:

答案 0 :(得分:14)

当你忘记这一点时,GCC会给出error

#include <sstream> //this is where istringstream is defined