Estoy tratando de usar algoritmos de cadena de refuerzo para la búsqueda insensible a mayúsculas y minúsculas.
total de principiantes aquí.boost :: ifind_first con std :: string objects
si lo estoy utilizando de esta manera, me sale un error.
std::string str1("Hello world");
std::string str2("hello");
if (boost::ifind_first(str1, str2)) some code;
Convirtiendo en char punteros resuelve el problema.
boost::ifind_first((char*)str1.c_str(), (char*)str2.c_str());
¿Hay alguna manera de buscar objetos std :: string directamente?
Además, tal vez haya otra forma de saber si la cadena está presente dentro de otra cadena con búsqueda insensible a mayúsculas y minúsculas.
El primer argumento de ifind_first() es Range1T &. No es estándar pasar un rango temporal. –
@ DanielLaügt: 'Range1T' se deducirá como' const boost :: iterator_range ', lo que da como resultado una referencia constante. ¿Tienes un problema al pasar una referencia constante a un temporal? –
No he visto la const antes iterator_range. Esto funciona bien No sabía que podemos hacer este tipo de truco. He aprendido algo Gracias. –