كيفية تحويل 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 استخدم الدالة