首页 > 解决方案 > 如何转换字符数组中的浮点值

问题描述

如何将float值复制到c中的字符数组?例如,float变量x = 1.234被复制到一个数组中char成为{‘ 1’ , ‘.’ , ‘2’ , ‘3’ , ‘4’}

标签: c

解决方案


更好地使用snprintfover sprintf,它解决了缓冲区溢出的许多风险,当开发人员低估了所需的大小,或者输入没有完全验证时。

   int status = snprintf(arr, sizeof(arr), "%.3f", val) ;
   ... Check overflow if needed ...
   if ( status >= sizeof(arr) ) {
       .. Overflow
   }

printf 与原始 stdio 中的少数其他函数(gets、vsprintf)一样,依赖于程序员创建足够大的缓冲区。


推荐阅读