c_cpp 从内存中从src开始获取大小字节生数据到指定字符串dst(自己保证长度)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 从内存中从src开始获取大小字节生数据到指定字符串dst(自己保证长度)相关的知识,希望对你有一定的参考价值。

#include <iostream>

using namespace std;

//从src开始dump size个字节的内存数据到dst,自行保证dst可用
void hex_dump(const unsigned char *src, unsigned char *dst, int size) {
	for (int i = 0; i != size; ++i) {
		unsigned char rignt  = src[i] % 16;
		unsigned char left = src[i] >> 4;
		if (left >= 0 && left <= 9) {
			dst[2*i] = left + '0';
		} else if (left >= 10 && left <= 15) {
			dst[2*i] = left - 10 + 'A';
		}
		if (rignt >= 0 && rignt <= 9) {
			dst[2*i+1] = rignt + '0';
		} else if (rignt >= 10 && rignt <= 15) {
			dst[2*i+1] = rignt - 10 + 'A';
		}
	}
}
int main () {
	int a = 0x12345678;
	char dst[9] = {};
	hex_dump((unsigned char *)&a, (unsigned char *)dst, 4);
	cout << dst;
}

以上是关于c_cpp 从内存中从src开始获取大小字节生数据到指定字符串dst(自己保证长度)的主要内容,如果未能解决你的问题,请参考以下文章

在 ios 应用程序中从磁盘加载大图像

在 Flutter/Dart 中从字节加载图像的问题

如何在 Java 中从原始字节 [] 创建 BMP 文件

如何在 Swift 中从蓝牙特性中获取数据

c_cpp 在C中从右侧打印位

C++ - 在 FOR 循环中从向量获取大小