Czy istnieje specjalna funkcja w języku C++, która może zwrócić numer wiersza określonego ciągu, który chcę znaleźć?C++ wyszukiwanie pliku tekstowego dla określonego ciągu i zwracanie numeru wiersza, w którym ten ciąg jest na
ifstream fileInput;
int offset;
string line;
char* search = "a"; // test variable to search in file
// open file to search
fileInput.open(cfilename.c_str());
if(fileInput.is_open()) {
while(!fileInput.eof()) {
getline(fileInput, line);
if ((offset = line.find(search, 0)) != string::npos) {
cout << "found: " << search << endl;
}
}
fileInput.close();
}
else cout << "Unable to open file.";
chcę dodać niektóre kody na:
cout << "found: " << search << endl;
To zwróci numer linii, po której następuje ciąg, który był poszukiwany.
o mój nie mogę uwierzyć, że nie myślałem o tej prostej metodzie licznika. Myślałem, że istnieje specjalna funkcja, do której można zadzwonić. Dzięki temu rozwiązałem. –
@JohnMarston: Nie ma problemu, upewnij się jednak, że zmieniłeś warunek pętli. W obecnej wersji nie można obsłużyć błędu. –