【发布时间】:2026-02-16 03:40:01
【问题描述】:
我的问题是我将如何转换如下内容:
int i = 0x11111111;
到一个字符指针?我尝试使用 itoa() 函数,但它给了我一个浮点异常。
【问题讨论】:
-
你的意思是 char *cp = (char * ) i; ?
-
没有“hex int”这样的东西。这只是一个普通的
int,您恰好以十六进制表示形式指定了它的值。 -
这不是“十六进制整数”。这只是一个“int”。 “Hex int”是整数的一种表示形式。或以 16 为基数的值的视图。要将 int 转换为任何类型的指针,只需将其强制转换: char * p = ( char * )i;然而,这可能不是一个很好的做法。
-
你想要
(char*)0x11111111,还是"0x11111111"? -
@Bhubhu:我敢打赌,当您投射它时,它不会出现分段错误。我敢打赌,当您使用该指针执行某些操作时,会出现分段错误。如果你不展示你的代码,那么人们就会对它做出错误的猜测,浪费大家的时间。