Avatar ·

C++ में std::string को const char* या char* में कैसे बदलें?

सभी को नमस्कार! मैंने अभी C++ सीखना शुरू किया है और स्ट्रिंग्स के साथ काम करते समय एक समस्या का सामना किया। मेरे पास `std::string` प्रकार का एक वेरिएबल है, और मुझे इसे एक फंक्शन में पास करना है जो `const char*` या `char*` की अपेक्षा करता है। उदाहरण के लिए, मैं `fopen()` फंक्शन का उपयोग करके फ़ाइल खोलने की कोशिश कर रहा हूँ, लेकिन यह `std::string` को स्वीकार नहीं करता। यहाँ मेरा कोड है: ```cpp #include #include #include int main() { std::string filename = "data.txt"; FILE* file = fopen(filename, "r"); // कम्पाइलेशन एरर! if (file) { std::cout << "File opened successfully" << std::endl; fclose(file); } return 0; } ``` कम्पाइलर एरर देता है: `cannot convert 'std::string' to 'const char*'`। मैं समझता हूँ कि `std::string` और `const char*` अलग-अलग टाइप हैं, लेकिन उन्हें कैसे बदलें? मैंने सीधे `const char* str = filename;` असाइन करने की कोशिश की — वह भी काम नहीं करता। एक और सवाल: क्या `std::string` से म्यूटेबल `char*` प्राप्त किया जा सकता है? कुछ पुराने APIs में `const char*` के बजाय `char*` की आवश्यकता होती है।

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग