Objective c 在C或目标C中将int、double转换为char数组

Objective c 在C或目标C中将int、double转换为char数组,objective-c,c,Objective C,C,我想把int转换成char数组,把double转换成char数组。在C或Objective C中进行此操作的任何方法。对于“转换”的含义的另一种解释,请使用 union double_or_bytes { double d ; char bytes[8] ; } converter; converter.d = <the double you have> ; <do what you wanted to do with> converter.bytes ; 联合双字

我想把int转换成char数组,把double转换成char数组。在C或Objective C中进行此操作的任何方法。

对于“转换”的含义的另一种解释,请使用

union double_or_bytes { double d ; char bytes[8] ; } converter;

converter.d = <the double you have> ;

<do what you wanted to do with> converter.bytes ;
联合双字节或双字节{double d;char bytes[8];}转换器;
转换器d=;
converter.bytes;

对于“转换”的另一种解释,请使用

union double_or_bytes { double d ; char bytes[8] ; } converter;

converter.d = <the double you have> ;

<do what you wanted to do with> converter.bytes ;
联合双字节或双字节{double d;char bytes[8];}转换器;
转换器d=;
converter.bytes;

如果要将数字视为
字符数组
,可以获取地址并投射指针:

int i;
double d;
char * ic = (char *) &i;
char * dc = (char *) &d;

然后
ic
dc
是指向
char
的指针。它们不是以零结尾的,因此不能将它们用作字符串,但可以用作数组。

如果要将数字视为字符数组,可以获取地址并强制转换指针:

int i;
double d;
char * ic = (char *) &i;
char * dc = (char *) &d;

然后
ic
dc
是指向
char
的指针。它们不是以零结尾的,因此您不能将它们用作字符串,但它们可以用作数组。

您的意思是使用
snprintf
将整数转换为字符串,还是其他意思?您是在尝试完成某件事还是在学习如何做某件事?这里两者都有可能。我想要的是,如果int被转换为char,那么生成的char数组应该是4字节(假设int大小为4字节),double也是一样的。你的意思是使用
snprintf
将整数转换成字符串吗,或者你是指别的什么?你是在努力完成某件事还是在学习如何做某件事?这里两者都有可能。我想要的是,如果int被转换成char,那么得到的char数组应该是4字节(假设int大小为4字节),对于double数组也是一样的。