I want to find the last occurrence of a string in a text file of initial size 5MB
(might go up to 10MB
max) from a fixed specific location (a delimiter) in the same file. I got through finding all occurrences but how to print the last/ final occurrence from a specific location?
Here is my code:
#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;
}
Here is a sample data of my text file:
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
Assigning your found text to a variable at each iteration will overwrite the variable content and printing it after the loop has ended would print only the last occurence:
Something like this should do :