Avatar ·

كيفية العمل مع السلاسل النصية في C++؟

مرحباً بالجميع! بدأت تعلم لغة C++ وواجهت مشكلة أثناء العمل مع السلاسل النصية. أحاول كتابة برنامج بسيط يقرأ اسم المستخدم، ثم يعرض تحية بهذا الاسم بعد تحويله إلى أحرف كبيرة. لكن الكود لا يعمل كما توقعت.

إليك ما جربته:

#include <iostream>\n#include <string>\n#include <cctype>\n\nint main() {\n    std::string name;\n    std::cout << "Введите имя: ";\n    std::cin >> name;\n    \n    for (char c : name) {\n        c = std::toupper(c);\n    }\n    \n    std::cout << "Привет, " << name << "!" << std::endl;\n    return 0;\n}

المشكلة هي أن الاسم يظهر بالحالة الأصلية، على الرغم من أنني توقعت أن يكون بأحرف كبيرة. يبدو أن حلقة for each لا تعدل السلسلة النصية الأصلية. كما جربت استخدام std::getline بدلاً من std::cin >>، لكن ذلك لم يساعد.

النتيجة المتوقعة: إذا أدخلت "j