c++标准库中是否提供了动态二进制流,类似与java的ByteArrayInputStream?
c++有没有类似于java的ByteArrayInputStream的类啊,可以动态扩展?
[解决办法]
stringstream ?
[解决办法]
用list<unsigned char>即可。
[解决办法]
类似这个,但这个估计不能满足楼主要求,
如下测试:
#include <sstream>
#include <iostream>
int main()
{
bool b1 = true;
char c1 = 'A';
int i1 = 1;
long l1 = 4;
float f1 = 1.23f;
double d1 = 3.256;
std::string s1("XYZ");
std::stringstream ss;
ss << b1 << c1 << i1 << l1 << f1 << d1 << s1;
std::cout << b1 << c1 << i1 << l1 << f1 << d1 << s1 << std::endl;
bool b2;
char c2;
int i2;
long l2;
float f2;
double d2;
std::string s2;
std::cout << ss.rdbuf() << std::endl;
ss >> b2 >> c2 >> i2 >> l2 >> f2 >> d2 >> s2;
std::cout << b2 << c2 << i2 << l2 << f2 << d2 << s2 << std::endl;
return(0);
}
流入后,再流出,未必能得到原来的数据:如d2 != d1
我以前的公司有一个,离职后自己也写了个,很烂就是: ByteStream