如何快速解析C ++中以空格分隔的浮点数?
我有一个包含数百万行的文件,每行有3个以空格分隔的浮点数。读取文件需要花费大量时间,因此我尝试使用内存映射文件读取它们,但发现问题不在于IO的速度,而在于解析速度。
我当前的解析是获取流(称为文件)并执行以下操作
float x,y,z;file >> x >> y >> z;
Stack Overflow中的某些人建议使用Boost.Spirit,但我找不到任何简单的教程来解释如何使用它。
我正在尝试找到一种简单有效的方法来解析看起来像这样的行:
"134.32 3545.87 3425"
我真的很感激一些帮助。我想用strtok来分割它,但我不知道如何将字符串转换为浮点数,我不太确定它是最好的方法。
我不介意解决方案是否会提升。我不介意它是不是有史以来最有效的解决方案,但我确信它可以加倍速度。
提前致谢。
牛魔王的故事
紫衣仙女
相关分类