可能重复:
How to Convert Byte* to std::string in C++?转换UINT8 *到的std :: string
嘿伙计,
我是一个嵌入式设备上,并尝试接收消息。 此消息由const uint8* data
给出,其长度为uint8 len
现在我需要一个std :: string来输出我的数据。
可能重复:
How to Convert Byte* to std::string in C++?转换UINT8 *到的std :: string
嘿伙计,
我是一个嵌入式设备上,并尝试接收消息。 此消息由const uint8* data
给出,其长度为uint8 len
现在我需要一个std :: string来输出我的数据。
如果你不想编码转换,这将工作:
std::string s(data, data+len);
如果你想UTF-8转换成任何系统编码所使用的平台,你需要使用一些特定于平台的方式。
对于某些情况下的sizeof(UINT8)=的sizeof(char)的,你可以这样做:
std::string output(len, 0);
for (size_t i = 0; i < len; ++i)
output[ i ] = static_cast<char>(data[ i ]);
看起来像是这样的一个副本:http://stackoverflow.com/q/1673445/50079 – Jon 2010-12-22 11:57:19