Avatar ·

std::wstring बनाम std::string: C++ में Unicode कब और ASCII कब उपयोग करें?

```html सभी को नमस्ते! मैं एक शुरुआती C++ डेवलपर हूँ, और मुझे std::wstring और std::string के बीच अंतर से हमेशा भ्रम होता है। मैंने पढ़ा है कि std::string 'सामान्य' स्ट्रिंग्स के लिए है, और std::wstring Unicode के लिए है। लेकिन व्यवहार में मुझे बहुत सारी समस्याएँ आती हैं। यहाँ एक उदाहरण है: मैं एक प्रोग्राम लिख रहा हूँ जो फ़ोल्डर से फ़ाइल नाम पढ़ता है। कुछ फ़ाइलों में सिरिलिक वर्ण हैं, जैसे 'отчет.docx'। मैं std::string का उपयोग करता हूँ: ```cpp std::string filename = 'отчет.docx'; std::ifstream file(filename); ``` और फ़ाइल नहीं खुलती! यदि मैं std::wstring और wifstream का उपयोग करूँ, तो सब काम करता है: ```cpp std::wstring filename = L'отчет.docx'; std::wifstream file(filename); ``` लेकिन फिर नई समस्याएँ आती हैं: मैं wstring को उन functions में पास नहीं कर सकता जो std::string की उम्मीद करते हैं (जैसे पुरानी libraries में), और कंसोल पर std::cout के माध्यम से आउटपुट करने पर अजीब अक्षर मिलते हैं। मुझे std::wcout का उपयोग करना पड़ता है, लेकिन वह भी अजीब व्यवहार करता है। एक और सवाल: यदि मैं एक क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन (Windows + Linux) लिख रहा हूँ, तो Linux पर st ```