c - 从字符串中读取 float 作为 2 个整数

标签 c integer scanf

我正在尝试从字符串中读取 float 并将它们拆分为 2 个整数。

sscanf(line, "%d.%d", &dec, &frac));

这适用于像这样的字符串:

"0.25"

但是如果数字前有一个可选的符号,它就不再起作用了。

"-0.25"

我如何“告诉”sscanf,数字前可能有一个可选符号?

最佳答案

据我所知,%d 很好,因为它用于有符号整数,但这里的问题来自于 -00 ...您必须找到一种解决方法,因为我认为您无法为该特定情况找到一种干净简单的方法。

关于c - 从字符串中读取 float 作为 2 个整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33848294/

相关文章:

c - 为什么 scanf() 总是什么都不返回?

c - 使用 scanf 的验证检查在循环内不起作用

c - C 中的 "write"系统调用无法识别来自 "read"系统调用的随机整数

c++ - C/C++ 中有符号整数表达式的代数归约

c -/usr/bin/xfce4-terminal 的执行给出 "Session manager variable not defined"

c - 内核模块加载导致错误

java - 如何将 int 值赋给整型变量

C - 使用其他分隔符分隔字符串?

c - 加载数据以构造和显示,c

c - 如何在c中创建一棵n叉树