在C++中读取csv文件时如何处理NaN

Waw*_*100 3 c++ csv file-io nan

我正在将时序数据的csv文件读入C++程序.然而,我的数据包含一些NaN.例如:

1-Jul-2010,   1.0 
2-Jul-2010,   2.0
3-Jul-2010,   NaN
4-Jul-2010,   3.0
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题,我在Matlab中编写了一个简短的脚本,将所有NaN替换为0.0 - 然后在没有NaN的情况下读入新文件.有简单的方法还是避免这种预处理?

谢谢!

mst*_*ger 7

正如David Given已经提到的那样,您根本不需要预处理文件.strtof()和strtod()都能够将NaN字符串转换为NaN float/double值.

如果要在数据集中将值替换为0.0,则可以使用isnan()函数执行此操作.

if (isnan(val))
{
    val = 0.0;
}
Run Code Online (Sandbox Code Playgroud)