C ++ busca un archivo de texto para una cadena en particular y devuelve el número de línea donde se encuentra esa cadena

¿Existe una función particular en c ++ que pueda devolver el número de línea de una cadena en particular que quiero encontrar?

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.";

Quiero añadir algunos códigos en:

    cout << "found: " << search << endl;

Eso devolverá el número de línea seguido por la cadena que se buscó.

Respuestas a la pregunta(2)

Su respuesta a la pregunta