我有一个我想用C阅读的文本文件。它包含这种格式的行:%d %d (%d or %lf)
。 3行的一个例子:
1 0 44
2 0 84.13
3 1 15.07
但最后一个号码可以是int
或double
,也可以是任意的。无论数据类型如何,我如何从文本文件中读取?
答案 0 :(得分:1)
因为float可以保存整数但反之不然。只需像浮点数一样读取数据,并使用类似
的内容检查它是否为整数if(ceilf(f) == f)
{
i=(int)f;
}
//Here i is an integer and f is the float you read using %f
要查看有关如何检查float是否为int的更多方法,请参阅