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

C++ 提取c+中某个单词前面的值+;输出,c++,string,output,ifstream,C++,String,Output,Ifstream,如果您有一个具有已知结构文本的文件,您将如何提取某个识别词前面的值?具体来说,如何从下面的文本中提取值 CDM-nucleon micrOMEGAs amplitudes: proton: SI -3.443E-10 以下是我对脚本的理解程度: #include <string> #include <fstream> #include <iostream> using namespace std; int main() { string ident

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

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;
}
#包括
#包括
#包括
使用名称空间std;
int main()
{
字符串标识符;
双重价值;
ifstream文件(“output.txt”);
//用于提取值的命令
file.close();
返回0;
}

非常感谢。

这取决于输出文件的复杂性和大小。所谓“复杂性”,我的意思是,比如说,有可能找到你的识别词,而不是跟在你想要解析的大量不同的关键字后面。 对于大文件,将其加载到内存中可能是不合理的,因此可能是流式传输

在您的特殊情况下,您可能需要研究以下内容:

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


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

没有人会为您做这项工作。尤其是当你的问题如此模糊的时候。提取什么?识别词是什么?你做了什么?问题出在哪里。搜索stackoverflow以了解如何逐行读取文件以及如何使用正则表达式查找位置。这应该会有所帮助。