C++中怎样把十六进制数据赋到字符串的内存?

2025-02-17 13:09:39
推荐回答(4个)
回答1:

16进制数据仅是整数的一种表现形式,把十六进制数据赋到字符串的内存,就是把一个整数写到内存地址中,可采用的最简单的办法就是用memcpy()函数。

相关头文件:

#include

函数原型:

void * memcpy( void *dest, void * src, size_t len );

dest:目标地址

src:数据源所在地址

len:拷贝的数据长度

功能:从数据源所在地址src开始,拷贝len个字节到dest地址中。

参考代码:

#include 
#include 
void main()
{
    int n=0x12345678 ;
    char str[10];
    memcpy( str, &n, sizeof(int) );
    for( int i=0;i        printf("%x\n", str[i]&0xff );
}

运行结果:

小端机:

78

56

34

12

大端机:

12

34

56

78

回答2:

16进制数据?直接变量赋值
16进制的形式在字符串中显示?转换再赋值

回答3:

unsigned long data = 0x12345678;
char buf[16];
sprintf(buf, "%#x", data);
std::string str;
str.append(buf); 或者 str.Format(...)

回答4:

memcpy