我正在阅读一个文件,并希望在等号后返回某些值
文本文件如下所示
slicenum=1
imageWidth=100
ID=1
等。然后为图像的每个切片重复
现在,我专注于ID,但最终我想要一个数组,我想我想要提取的所有值。
当我这样做时,它只打印整个文件。如何仅在ID的等号后打印值?
string ID;
string line;
while (getline(inFile, line)) {
if (line.find(ID) != string::npos)
cout << line << std::endl;
}
答案 0 :(得分:0)
使用std::string::substr
和std::string::find
const size_t pos = line.find('=');
if (pos != std::string::npos) {
std::cout << line.substr(pos + 1);
}
答案 1 :(得分:0)
我认为这会对你有所帮助:
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
ifstream in("Text.txt");
string beforeEqual = "";
string afterEqual = "";
while (!in.eof())
{
getline(in, beforeEqual, '='); //grtting string upto =
getline(in, afterEqual, '\n'); //getting string after =
cout << afterEqual << endl; //printing string agter =
}
system("pause");
return 0;
}