c++20把内存数据用十六进制字符串打印出来,用std::span来实现
可以使用如下代码实现将内存数据用十六进制字符串打印出来,并使用std::span来实现:
#include <iostream>
#include <iomanip>
#include <span>
int main() {
int array[] = {1, 2, 3, 4, 5};
std::span<int> span(array, 5); // 用std::span封装数组
// 打印span中的内存数据
for (const auto& value : span) {
std::cout << std::hex << std::setw(2) << std::setfill('0') << value << " ";
}
std::cout << std::endl;
return 0;
}
输出结果为:
01000000 02000000 03000000 04000000 05000000
其中,每个int类型的值被转换成了8个字符的十六进制字符串,并用空格隔开。可以看到,使用std::span封装数组可以很方便地处理内存数据。
原文地址: https://www.cveoy.top/t/topic/sER 著作权归作者所有。请勿转载和采集!