【发布时间】:2011-02-07 01:22:54
【问题描述】:
我有一个科学应用程序,我想在运行时为其输入初始值。我可以选择从命令行获取它们,或者从输入文件获取它们。这些选项中的任何一个都输入到通用解析器,该解析器使用 strtod 返回每个模拟运行的初始值的链接列表。我要么使用命令行参数,要么使用 getline() 来读取值。
问题是,我应该滚动自己的解析器,还是应该使用解析器生成器或某个库?标准方法是什么?这是我将在运行时读取的唯一数据,其他一切都在编译时设置(除了输出文件和其他一些完全简单的东西)。
谢谢,
乔尔
【问题讨论】:
-
你只会读一堆花车?你想做什么样的解析?你有什么语法吗?
-
是的,只是一堆用空格分隔的浮点数。我正在使用 strtok 阅读它们,由换行符或逗号分隔。我问的原因是这似乎相当复杂,我想知道我是否使用了正确的工具来完成这项工作。不是我介意它涉及的太多,但它是其中一种看似简单且常用的东西,所以似乎应该有一种标准的方法:在 Libc 手册中找不到的东西。
-
这个问题解决了:我用的是strtod。真正的问题是我需要正确分解问题,以便正确的输入行进入正确的数据结构。
标签: c string simulation bison