Sto cercando di utilizzare gli algoritmi boost string per la ricerca senza distinzione tra maiuscole e minuscole.
newbie totale qui.boost :: ifind_first con std :: string objects
se lo sto usando in questo modo, ottengo un errore.
std::string str1("Hello world");
std::string str2("hello");
if (boost::ifind_first(str1, str2)) some code;
La conversione in puntatori di caratteri risolve il problema.
boost::ifind_first((char*)str1.c_str(), (char*)str2.c_str());
C'è un modo per cercare direttamente gli oggetti std :: string?
Inoltre, forse c'è un altro modo per sapere se la stringa è presente all'interno di un'altra stringa con ricerca senza distinzione tra maiuscole e minuscole?
Il primo argomento di ifind_first() è Range1T &. Non è standard passare un intervallo temporaneo. –
@ DanielLaügt: 'Range1T' verrà dedotto come' const boost :: iterator_range ', risultante in un riferimento const. Hai un problema nel passare un riferimento const a un temporaneo? –
Non ho visto il const prima di iterator_range. Funziona bene Non sapevo che possiamo fare questo tipo di trucco. Ho imparato qualcosa Grazie. –