salve a tutti, devo risolvere questo problema per l universita:
"Calcola quante volte una parola, data in input dall'utente, è presente nel testo iniziale. Non distingue fra maiuscole e minuscole."
non riesco a risolvere questa precisa parte " non distingue fra minuscole e maiuscole" cosi ho pensato di usare tolower() ma mi da errore di compilazione....

questo è quello che ho fatto ( notare che ho incluso librerie che non servono per questa funzione, ma mi servono per altre funzioni non ancora fatte )

MAIN
codice:
// Main
#include <iostream>
#include <fstream>
#include <vector>
#include <cstring>
#include <string>
#include <cstdlib>
#include <ctype.h>
#include "header.h"
using namespace std;

int main(){
    
    ifstream in_data;
    // funzione che chiede
        // all'utente quale
    // file vuole aprire
    get_data(in_data);
    //funzione che conta quante volte
    //la parola immessa dall'utente compare
    cout<<"la parola precedentemente messa compare nel testo "<<WordCounter(in_data)<<" volte"<<endl;
    
}
FUNZIONI
codice:
//Funzioni
#include <iostream>
#include <fstream>
#include <vector>
#include <cstring>
#include <string>
#include <cstdlib>
#include <ctype.h>
#include "header.h"
using namespace std;

//funzione che chiede all'utente quale file aprire
// e lo apre
void get_data(ifstream& resultingStream)
{
    string fileName;
    do 
    {
        cout<<"Inserisci il nome del file contenente i dati: ";
        cin>>fileName;
        resultingStream.open(fileName.c_str());
    } 
    
    while (resultingStream.fail());
}

// ************************************************************************

//funzione che chiede all'utente una parola
// e conta quante ce ne sono nell file in input
int WordCounter (ifstream& in_data){
    string word;
    string otherword;
    int cont=0;
    vector<string>vectword;
    vector<string>vectotherword;
    cout<<"inserisci una parola per vedere quante volte compare nel testo"<<endl;
    cin>>word;
    // funzione della libreria <ctype.h>
    // che trasforma le lettere maiuscole 
    // in lettere minuscole
    vectword.push_back(tolower(word));
    while (in_data>>otherword){
        // stessa funzione applicata
        // nella riga 40
        
        vectotherword.push_back(tolower(otherword));
    }
    for(int i=0; i < vectotherword.size(); i++){
        if(vectword[0] == vectotherword[i]){
            cont++;
        }
    }
    return cont;
}
HEADER
codice:
// Header
#include <iostream>
#include <fstream>
#include <vector>
#include <cstring>
#include <string>
#include <cstdlib>
#include <ctype.h>
using namespace std;

// funzione che chiede all'utente
// il nome del file e lo apre
void get_data(ifstream& resultingStream);

// funzione che chiede all'utente
// di inserire una parola per
// vedere quante volte compare
// nel testo del file aperto
// chiesto in precedenza
int WordCounter (ifstream& in_data);
ringrazio di cuore tutti quelli che mi risponderanno, saluti