一个简单的C++程序,把数字转换为字符串:
#include <stdio.h>
int main(int argc, char* argv[])
{
}
这个程序运行会core dump,当然对于这么一个简单的程序很容易查找错误,为什么sprintf(buf, ":%d", 3246);会挂掉?试试增加buf的大小,修改为char buf[6];
再次编译运行,程序正常。
所以在使用sprintf时,应该考虑申请足够的字符数组大小。
一个简单的C++程序,把数字转换为字符串:
#include <stdio.h>
int main(int argc, char* argv[])
{
}
这个程序运行会core dump,当然对于这么一个简单的程序很容易查找错误,为什么sprintf(buf, ":%d", 3246);会挂掉?试试增加buf的大小,修改为char buf[6];
再次编译运行,程序正常。
所以在使用sprintf时,应该考虑申请足够的字符数组大小。