【发布时间】:2016-01-26 09:02:39
【问题描述】:
我如何获得:
int i = 1023
到:
char string[4] = "1023"
这是我尝试的代码:
尝试 1
#include <stdio.h>
main(){
int avg_adc = 1023;
char myString[4];
sprintf(myString, "%d", avg_adc);
}
//Output returned 4
尝试 2
main(){
int avg_adc = 1023;
char myString[4];
snprintf(myString, 4, "%d", avg_adc);
}
//Output returned 4
这些输出不是myString == char myString[4] = "1023";吗?
我真的很困惑如何获得我需要的输出。
【问题讨论】:
-
"1023" 是一个五符号字符串。您只在堆栈上分配了四个。
-
什么意思?您的代码不输出任何内容。
-
是的,我在故障排除时意识到了这一点。我最终采用了另一种方法,但感谢您的帮助。
-
如果您自己的解决方案解决了这个问题,您可以随意添加它作为答案(和even encouraged)。
标签: c string int type-conversion