首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在不使用reinterpret_cast的情况下将无符号字符转换为std::string?

如何在不使用reinterpret_cast的情况下将无符号字符转换为std::string?
EN

Stack Overflow用户
提问于 2010-05-16 00:23:03
回答 2查看 37.1K关注 0票数 17

我有一个std::string中需要的无符号字符数组,但我目前使用的方法是reinterpret_cast,我希望避免使用它。有没有更干净的方法来做这件事?

代码语言:javascript
复制
unsigned char my_txt[] = {
  0x52, 0x5f, 0x73, 0x68, 0x7e, 0x29, 0x33, 0x74, 0x74, 0x73, 0x72, 0x55
}
unsigned int my_txt_len = 12;

std::string my_std_string(reinterpret_cast<const char *>(my_txt), my_txt_len);
EN

回答 2

Stack Overflow用户

发布于 2010-05-16 00:26:19

你试过sstream吗?

代码语言:javascript
复制
     stringstream s;
     s << my_txt;

     string str_my_txt = s.str();
票数 7
EN

Stack Overflow用户

发布于 2016-11-11 13:37:32

代码语言:javascript
复制
  int _tmain(int argc, _TCHAR* argv[])
  {
        unsigned char temp  = 200;
        char temp1[4];

        sprintf(temp1, "%d", temp);

        std::string strtemp(temp1);

        std::cout<<strtemp.c_str()<<std::endl;

        return 0;
   }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2840835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档