如何从输入c ++中分别读取整数和分数

Sri*_*G S 0 c++ floating-point

我的疑问是.从输入流中跳过" "并读取两个不同变量中的整数和小数部分.假设我有一个像10.26的输入,我希望存储10在一个变量a26另一个变量中b.

C,使用scanf,我会这样做

scanf("%d.%d",&a,&b);

什么是等效的方式做C++cin?或者我应该包括cstdio并使用它scanf自己?

jro*_*rok 6

您可以正常读取浮点数并使用C库的modf函数来拆分数字:

#include <cmath>

float f = 0.0;
float ipart = 0.0;
float fpart = 0.0;

if (cin >> f)
    fpart = modf(f, &ipart);
else {
    // input failed
}
Run Code Online (Sandbox Code Playgroud)

让我们operator>>做错误检查!