Avatar ·

Wie überprüft man, ob ein String einen Teilstring in C++ enthält?

Hallo zusammen! Ich habe gerade angefangen, C++ zu lernen, und bin auf ein Problem gestoßen: Wie überprüft man, ob ein String einen anderen String enthält? In anderen Sprachen, wie Python, macht man das einfach mit dem Operator `in` oder der Methode `.find()`. In C++ bin ich etwas verwirrt. Ich habe eine Variable `std::string text = "Hello, world!";` und muss überprüfen, ob der Teilstring `"world"` darin enthalten ist. Ich habe versucht, diesen Code zu schreiben: ```cpp #include #include int main() { std::string text = "Hello, world!"; std::string substr = "world"; if (text.find(substr)) { std::cout << "Gefunden!" << std::endl; } else { std::cout << "Nicht gefunden" << std::endl; } return 0; } ``` Aber dieser Code funktioniert nicht richtig: Wenn der Teilstring vorhanden ist, gibt er manchmal "Nicht gefunden" aus, und wenn der Teilstring nicht vorhanden ist, kann er "Gefunden" ausgeben. Ich habe gelesen, dass `find()` einen Index zurückgibt, aber ich habe nicht verstanden, wie man ihn richtig verwendet. Bitte erklärt mir, wie man das richtig überprüft.