如何在C中将int转换为字符串?

如何在C中将int转换为字符串?

如何转换int(整数)到字符串?我正在尝试创建一个函数来转换struct将其保存在文件中。



UYOU
浏览 1835回答 3
3回答

慕虎7371278

你可以用sprintf去做,或者也许snprintf如果你有:char str[ENOUGH];sprintf(str, "%d", 42);中的字符数(加上终止字符)str可以使用以下方法计算:(int)((ceil(log10(num))+1)*sizeof(char))

慕村9548890

简单的答案是:snprintf( str, size, "%d", x );更长的是:首先,你需要找出足够的尺寸。snprintf告诉您长度,如果您调用它与NULL, 0作为第一个参数:snprintf( NULL, 0, "%d", x );为空终止符多分配一个字符.int x = -42;int length = snprintf( NULL, 0, "%d", x );char* str = malloc( length + 1 );snprintf( str, length + 1, "%d", x );...free(str);如果对每个格式字符串都有效,则可以使用"%g",您可以使用以下方法将int转换为十六进制"%x"等等。
打开App,查看更多内容
随时随地看视频慕课网APP