Avatar ·

كيفية التحقق مما إذا كانت السلسلة تحتوي على سلسلة فرعية في C++؟

مرحبًا بالجميع! لقد بدأت للتو في تعلم C++ وواجهت مشكلة: كيف أتحقق مما إذا كانت سلسلة تحتوي على سلسلة أخرى؟ في لغات أخرى، مثل Python، يتم ذلك ببساطة عبر عامل `in` أو طريقة `.find()`. أما في C++ فأنا مرتبك بعض الشيء. لدي متغير `std::string text = "Hello, world!";` وأحتاج للتحقق مما إذا كان يحتوي على السلسلة الفرعية `"world"`. جربت كتابة هذا الكود: ```cpp #include #include int main() { std::string text = "Hello, world!"; std::string substr = "world"; if (text.find(substr)) { std::cout << "تم العثور!" << std::endl; } else { std::cout << "لم يتم العثور" << std::endl; } return 0; } ``` لكن هذا الكود لا يعمل بشكل صحيح: عندما تكون السلسلة الفرعية موجودة، فإنه يطبع أحيانًا "لم يتم العثور"، وعندما لا تكون موجودة، قد يطبع "تم العثور". قرأت أن `find()` يُرجع بعض الفهرس، لكنني لم أفهم كيفية استخدامه بشكل صحيح. من فضلكم، اشرحوا كيفية التحقق بشكل صحيح.