gpt4 book ai didi

c - snprintf 不工作 float

转载 作者:行者123 更新时间:2023-12-02 00:36:23 25 4
gpt4 key购买 nike

我正在 STM32F437 上编程。我正在使用 SafeRTOS。编译器是GCC。

在一项任务中,我使用 snprintf() 准备一个包含值的字符串。

问题是 snprintf() 无法处理 float 。当它到达格式化字符串中的任何 %f%g 时,它只是结束结果字符串(使用 '\0')。

但是,这很奇怪。如果我在启动 RTOS 之前在 main() 中添加对 snprintf() 的虚拟调用,任务中的 snprintf() 就可以正常工作.

虚拟调用:

char dummy[20];
snprintf(dummy, sizeof(dummy), "%g", 3.14159);

我找到了类似的解决方案here

但没有回答为什么它有效。

有什么想法吗?

最佳答案

某些小型实现中的 printf 库不包括浮点支持。也许虚拟调用以某种方式导致使用更完整(和更大)的库?

关于c - snprintf 不工作 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29847199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com