Avatar ·

كيفية قص المسافات في بداية ونهاية std::string في C++؟

مرحبًا بالجميع! أنا مطور C++ مبتدئ، أكتب برنامجًا بسيطًا لمعالجة إدخال المستخدم. أحتاج إلى إزالة المسافات الزائدة (بما في ذلك علامات التبويب وأسطر جديدة) في بداية ونهاية السلسلة. على سبيل المثال، يجب أن تتحول السلسلة " Hello, World! " إلى "Hello, World!". أعلم أنه في C++ يوجد std::string، لكنني لا أجد طريقة مدمجة للقص (trim). حاولت كتابة دالتي الخاصة باستخدام الحلقات، لكن الكود يصبح ضخمًا وغير مريح. إليك ما حاولت فعله: ```cpp std::string trim(std::string str) { // إزالة المسافات في البداية while (str[0] == ' ') { str.erase(0, 1); } // إزالة المسافات في النهاية while (str[str.size() - 1] == ' ') { str.pop_back(); } return str; } ``` لكن هذا يعمل فقط مع المسافات العادية، وليس مع علامات التبويب، ويبدو غير فعال. هل هناك طريقة قياسية للقيام بذلك في C++؟ ربما توجد دالة في STL أو Boost؟ أرشدوني إلى كيفية قص السلسلة بشكل صحيح لمراعاة