提取c++输出中某个单词前面的值

Extract value preceeded by a certain word in c++ output

本文关键字:单词 前面 c++ 输出 提取      更新时间:2023-10-16

如果您有一个具有已知结构的文本的文件,您将如何提取某个识别词前面的值?具体来说,如何从下面的文本中提取值。

CDM-nucleon micrOMEGAs amplitudes:
proton:  SI  -3.443E-10 

以下是我对脚本的理解:

#include <string>
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
string identifier;
double value;
ifstream file("output.txt");
// Commands to extract value
file.close();
return 0;
}

非常感谢。

这取决于输出文件的复杂性和大小。我所说的"复杂性"是指,比如说,找到你的识别词的可能性,而不是后面跟着你想要解析的数字和各种关键词。对于大文件来说,将其加载到内存中可能是不合理的,因此可能会出现流式传输。

在您的特定情况下,您可能需要了解以下内容:

http://www.cplusplus.com/reference/regex/

或者适用于流式数据的解析器之一:

http://en.wikipedia.org/wiki/Flex_lexical_analyser

您还可以研究其他语言,例如perl来解析它。