Avatar ·

Como verificar se uma string contém uma substring em C++?

Olá a todos! Comecei a estudar C++ recentemente e me deparei com um problema: como verificar se uma string contém outra string? Em outras linguagens, como Python, isso é feito simplesmente com o operador `in` ou o método `.find()`. Em C++, estou um pouco confuso. Eu tenho uma variável `std::string text = "Hello, world!";` e preciso verificar se ela contém a substring `"world"`. Tentei escrever o seguinte 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 << "Não encontrado" << std::endl; } return 0; } ``` Mas esse código não funciona corretamente: quando a substring está presente, às vezes ele imprime "Não encontrado", e quando a substring não está, pode imprimir "Encontrado". Li que `find()` retorna algum índice, mas não entendi como usá-lo corretamente. Por favor, expliquem como verificar corretamente.