【发布时间】:2017-06-20 07:03:54
【问题描述】:
我正在尝试搜索文档并找到一个子集以打印出该特定行,但是,它似乎立即将整个消息拉入。
ifstream inputFile("searchfile.dat");
int search;
cout << "Enter what you're searching: ";
cin >> search;
string line;
//bool notFound;
while(getline(inputFile, line) /*&& notFound*/){
if (line.find(search)) {
cout << line << endl;
//notFound = false;
}
//line = "";
}
inputFile.close();
这是一个家庭作业,所以我更改了一些变量。请在回答时记住这一点(即解释发生了什么,以便我可以从中学习)
非常感谢!
附:这是我目前正在使用的数据:
Name1 Name1 1000001 12.00
Name2 Name2 1000002 14.00
Name3 Name3 1000004 16.00
我需要搜索 1000000 的数字并只打印该行。例如,我会搜索 1000002,它会打印: 名称2 名称2 1000002 14.00
现在它将打印整个内容
【问题讨论】:
-
MCVE 请。输入文件是什么样的?是一条线吗?
-
所有不同的行看起来像:first last id 工资
-
我在找身份证
-
我很难把数据放在这里。为了测试,我有 3 行。 Name1[tab]Name2[tab]1000001[tab]10.00[endline]Name2[tab]Name2[tab]1000002[tab]12.00[endline]Name3[tab]Name3[tab]1000003[tab]14.00[endline] 每次我点击了输入标签,它提交了评论,所以这是我能给你的最好的了
-
谢谢,我在上面做了并提供了更多信息