任何人都可以帮助将Int转换为char数组 因为我有缓冲区
char *buffer = NULL;
int lengthOfComponent = -1;
char *obj;
buffer[index]= (char *)&lengthOfComponent;
如果我这样做,那就是执行后如何使用memcpy将obj的值存储到缓冲区
答案 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);