为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C C++
UYOU 2019-07-03 16:05:32
如何在C中将int转换为字符串?如何转换int(整数)到字符串?我正在尝试创建一个函数来转换struct将其保存在文件中。
查看完整描述

3 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

你可以用sprintf去做,或者也许snprintf如果你有:

char str[ENOUGH];sprintf(str, "%d", 42);

中的字符数(加上终止字符)str可以使用以下方法计算:

(int)((ceil(log10(num))+1)*sizeof(char))


查看完整回答
反对 回复 2019-07-03
?
慕村9548890

TA贡献1884条经验 获得超4个赞

简单的答案是:

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"等等。


查看完整回答
反对 回复 2019-07-03
  • 3 回答
  • 0 关注
  • 1834 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信