Avatar ·

كيفية تحويل std::string إلى const char* أو char* في C++؟

مرحباً بالجميع! لقد بدأت للتو في تعلم C++ وواجهت مشكلة. لدي كائن std::string أستخدمه لتخزين النص، لكني أحتاج إلى تمريره إلى دالة تتوقع const char* أو char*. على سبيل المثال، أعمل مع مكتبة تحتوي على دالة: void printMessage(const char* msg); أحاول تمرير سلسلتي النصية إليها: std::string myString = "Hello, world!"; printMessage(myString); // خطأ في الترجمة! المترجم يعطي خطأ بأنه لا يمكن تحويل std::string إلى const char*. أفهم أنهما نوعان مختلفان، لكن كيف يمكنني الحصول على C-string من std::string بشكل صحيح؟ أحتاج أيضاً إلى الحصول على char* (غير ثابت) لبعض الدوال التي تعدل السلسلة النصية. جربت استخدام c_str() لكنه يُرجع const char* بينما أحتاج إلى char*. أرشدوني كيف أفعل ذلك بأمان؟ شكراً مسبقاً على المساعدة! <<>>

تحويل std::string إلى const char*

للحصول على const char* من std::string استخدم الدالة