c++ std::vector<uint8_t> AA = {0x11, 0x22, 0x33,};不使用std::stringstream的方式,将AA内容输出一个是字符串“0x11,0x22,0x33”
时间: 2024-03-28 11:42:20 浏览: 142
C++11标准新特性
5星 · 资源好评率100%
可以使用循环遍历 `AA` 中的元素,将其转换成字符串后拼接起来,最后输出即可。以下是示例代码:
```cpp
#include <iostream>
#include <vector>
#include <cstdint>
#include <string>
int main() {
std::vector<uint8_t> AA = {0x11, 0x22, 0x33};
std::string s;
for (auto it = AA.begin(); it != AA.end(); ++it) {
char buf[5];
sprintf(buf, "0x%02x", static_cast<int>(*it));
s += buf;
if (it != AA.end() - 1) {
s += ",";
}
}
std::cout << s << std::endl; // 输出:0x11,0x22,0x33
return 0;
}
```
代码中使用了 `sprintf` 函数来将数字转换成字符串,`"0x%02x"` 是指定输出的数字以十六进制形式显示,且宽度为2位,不足的前面补0。
阅读全文