如何在iphone中的char *中存储int

时间:2012-07-23 12:39:26

标签: iphone objective-c pointers char memcpy

任何人都可以帮助将Int转换为char数组 因为我有缓冲区

char *buffer = NULL;  
int lengthOfComponent = -1;   
char *obj;
buffer[index]= (char *)&lengthOfComponent; 

如果我这样做,那就是执行后如何使用memcpy将obj的值存储到缓冲区

2 个答案:

答案 0 :(得分:2)

当然你不能写入buffer [index],它没有被分配!

buffer = malloc(sizeof(char) * lengthOfBuffer);

应该这样做。之后,您可以使用memcpy或分配来编写缓冲区,就像您正在做的那样。

答案 1 :(得分:0)

buffer[index] = (char *)&lengthOfComponent;

buffer[index]就像取消引用指针一样。但buffer并未指向任何有效位置。因此运行时错误。

C解决方案正在使用snprintf。试试 -

int i = 11;
char buffer[10];

snprintf(buffer, sizeof(buffer), "%d", i);