Avatar ·

¿Cómo verificar si una string contiene una substring en C++?

¡Hola a todos! Acabo de empezar a aprender C++ y me encontré con un problema: ¿cómo verificar si una string contiene otra string? En otros lenguajes, como Python, esto se hace simplemente con el operador `in` o el método `.find()`. Pero en C++ estoy un poco confundido. Tengo una variable `std::string text = "Hello, world!";` y necesito verificar si contiene la substring `"world"`. Intenté escribir este código: ```cpp #include #include int main() { std::string text = "Hello, world!"; std::string substr = "world"; if (text.find(substr)) { std::cout << "¡Encontrado!" << std::endl; } else { std::cout << "No encontrado" << std::endl; } return 0; } ``` Pero este código funciona incorrectamente: cuando la substring está presente, a veces imprime "No encontrado", y cuando no está, puede imprimir "¡Encontrado!". He leído que `find()` devuelve algún índice, pero no entendí cómo usarlo correctamente. Por favor, expliquen cómo verificar correctamente.