我知道有很多关于这个主题的问题,但我认为找不到合适的关键字,所以我提出来。
我想以十六进制表示法 (0xABCDEF) 打印字节缓冲区的字节以进行控制台输出,但我不知道字节缓冲区是什么以及它的用途是什么?
我需要以下东西,而且我只是一个初学者,所以请让它变得简单,我能得到。 (在 C/C++ 中)
@param pBytes 指向字节缓冲区的指针 @param nBytes 字节缓冲区的长度(以字节为单位)
void PrintBytes(const char* pBytes, const uint32_t nBytes);
我需要该功能。
你不必给出答案,我需要你让我更轻松! 谢谢!
最佳答案
使用 C++ 你可以做这样的事情:
#include <iostream>
#include <iomanip>
void PrintBytes(
const char* pBytes,
const uint32_t nBytes) // should more properly be std::size_t
{
for (uint32_t i = 0; i != nBytes; i++)
{
std::cout <<
std::hex << // output in hex
std::setw(2) << // each byte prints as two characters
std::setfill('0') << // fill with 0 if not enough characters
static_cast<unsigned int>(pBytes[i]) << std::endl;
}
}
关于c++ - 以十六进制表示法 (0xABCDEF) 打印字节缓冲区的字节到控制台输出流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25481291/