我有很多不同的方法来实现这种转换,但都失败了。我需要将55转换为字符串。
#include <stdio.h>
#include <stdlib.h>
int main(void) {
double time = 55;
char *buffer = ""; //char *buffer; doesnt work either
sprintf(buffer, "%d\n", time);//without newline doesnt work either
printf("%s",buffer);
}
答案 0 :(得分:0)
您当前正在设置不属于"55\n"
的内存。您必须在堆栈上分配内存,然后使用以下代码修改(替换char *buffer = "";
行):
char buffer[4] = { 0 };
这是为'5'
,'5'
,'\n'
和'\0'
创造足够的空间。