gpt4 book ai didi

c++ - 从文件中的特定位置查找文件中最后一次出现的字符串

转载 作者:行者123 更新时间:2023-11-28 06:13:24 25 4
gpt4 key购买 nike

我想从一个固定的特定位置(a分隔符)在同一个文件中。我找到了所有事件,但如何从特定位置打印最后一次/最后一次事件?

这是我的代码:

#include <iostream>
#include <string>
#include <fstream>

using namespace std;

int main()
{
ifstream file;
string line;
char* str = "A-B";
file.open("test.txt");
unsigned int currline = 0;
while(getline(file, line)) {
currline++;
if (line.find(str, 0) != string::npos) {
cout << "found your search term: " << str << " at the " <<"line no.: " << currline << endl;
}
}
return 0;
}

这是我的文本文件的示例数据:

A,A-B,127.0.0.1
B,B-C,127.0.0.1
# // *From this point I have to search downwards only!*
A-B_1,01-01-15,2,2,L
A-B_2,01-02-15,2,0,L
B-C_1,02-01-16,4,0,L

最佳答案

在每次迭代时将找到的文本分配给一个变量将覆盖变量内容并在循环结束后打印它只会打印最后一次出现:

应该这样做:

#include <iostream>
#include <string>
#include <fstream>

using namespace std;

int main()
{
ifstream file;
string line;
string found = "Nothing found";
char* str = "A-B";
file.open("test.txt");
unsigned int currline = 0;
while(getline(file, line)) {
currline++;
if (line.find(str, 0) != string::npos) {
found = line;
}
}
cout << found << endl;
return 0;
}

关于c++ - 从文件中的特定位置查找文件中最后一次出现的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30780004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com