【问题标题】:Cross-Platform C++ Parser Library跨平台 C++ 解析器库
【发布时间】:2012-05-14 15:56:15
【问题描述】:

在空格和制表符分隔的 txt 文件中使用什么好的跨平台 C++ 解析器?我正在寻找解析文件,然后根据解析的信息输出一个新的 txt 文件。

输入文件包含网络流量脚本的详细信息,其中包含主机 IP 地址、主机接口、子网等多个列。

我需要从输入文件中获取信息并以其他应用程序所需的格式创建交通脚本。

以下是输入文件格式的示例:

Hostname    HostIP Area    Host Interface   Number of Routes
test1    128.1.1.1 0.0.0.0       128.100.1.1       100   
test1    128.1.1.2 0.0.0.0
test1    128.1.1.3 0.0.0.0
test2    128.2.2.4 0.0.0.0       128.200.5.6       100
test2    128.2.2.5 0.0.0.0
test2    128.2.2.6 0.0.0.0

我要求一个库来解析这种类型的数据并创建一个新的文本文件。

【问题讨论】:

  • 文本解析是一个非常开放的问题。你实际拥有什么样的源数据,你想从中提取什么?
  • 请提供有关输入格式的更多详细信息。
  • 提升精神? C++ 和跨平台。但是同意上面的cmets,你想解析什么/如何解析?
  • 正如我的问题中提到的,我希望解析包含空格和制表符分隔符的文本文件。我不确定您要查找的其他信息或为什么重要,但我用文本文件将包含的一些详细信息更新了问题。
  • 有一个如何在AXE中编写csv解析器的例子:gbresearch.com/axe/reference.pdf只要你有合理的C++11编译器(VC10,gcc 4.6)你可以在任何平台上使用它。

标签: c++ file parsing cross-platform


【解决方案1】:

对于像您给出的示例这样的简单输入文件,您可以为这种文件类型编写自己的文件。您可以使用标准 C++ 类并构建自己的文件解释器。这是一个很棒的指南:

http://www.cplusplus.com/doc/tutorial/files

【讨论】:

    【解决方案2】:

    Boost 可能是一个解决方案。如果您只想根据空格和制表符拆分数据,请查看boost::split

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-06
      • 2011-07-11
      • 2023-03-14
      • 1970-01-01
      • 2023-03-10
      • 2011-02-06
      • 1970-01-01
      • 2011-04-14
      相关资源
      最近更新 更多