我有未签名的char数组。我想使用cout打印所有数组值。 我该怎么办?
rtc::ZeroOnFreeBuffer<unsigned char> charArray(key_len * 2 + salt_len * 2);
cout<< charArray; --> ?
答案 0 :(得分:2)
for (auto&& c : charArray){
cout << c;
}
可能是最简单的方法,假设您想要的是实际字符而不是数字(如果需要数字,则将auto&&
替换为int
),并且容器是可迭代的。
答案 1 :(得分:1)
假设您正在使用ZeroOnFreeBuffer from WebRTC,则可以使用for循环,并获取缓冲区的当前大小:
size_t bufSize = charArray.size()
for (int i = 0; i < bufSize; i++){
cout << charArray[i];
}
无论如何,如何访问数据并对其进行迭代取决于ZeroOnFreeBuffer
的性质。查看该对象的文档,它将为您提供访问数据的方法,查找缓冲区的大小,甚至可能如何获取诸如range-for循环之类的迭代器。