gpt4 book ai didi

c++ - 从 std::array 创建一个十六进制代表

转载 作者:行者123 更新时间:2023-11-30 03:23:17 25 4
gpt4 key购买 nike

我有一个 std::array,我想通过将每个字节转换为它的相等 HEX 值来从它创建一个字符串,如下所示:

 string getString(array<unsigned char, 10> data)
{
// what is the faster way to do this?
}

main()
{
array<unsigned char, 10> data={0,1,2,3,4,5,6,7,8,9};

string result=getString(data);
out<<result<<endl;
}

它应该打印出如下内容:

0x00 0x01 0x02 0x03

甚至

00010203040506070809

任何更快的方式。

我知道我可以使用 for 循环来完成这项工作,但是否有更简洁的方法来完成这项工作?

最佳答案

你可以像下面那样做

string getString(array<unsigned char, 10> data)
{
std::stringstream ss;
ss << std::hex << std::setfill('0');
for(int i=0; i<data.size(); ++i)
ss << std::setw(2) << (int)data[i];
return ss.str();
}

关于c++ - 从 std::array 创建一个十六进制代表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50492084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com