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