में लिनक्स या विंडोज़ सी ++ में एक क्रॉस-प्लेटफ़ॉर्म संगत फ़ंक्शन लिख रहा है जो इनपुट फ़ाइल नामों के आधार पर निर्देशिका बनाता है। मुझे यह जानने की ज़रूरत है कि मशीन लिनक्स या खिड़कियां है या उचित आगे या पीछे स्लैश का उपयोग करें। नीचे दिए गए कोड के लिए, यदि मशीन लिनक्स है तो isLinux = true
। मैं ओएस कैसे निर्धारित करूं?निर्धारित करें कि क्या सी ++
bool isLinux;
std::string slash;
std::string directoryName;
if isLinux
slash = "/";
else
slash = "\\";
end
boost::filesystem::create_directory (full_path.native_directory_string() + slash + directoryName);
यदि आप उपयोगकर्ता के लिए पथ नहीं दिखा रहे हैं, तो आप इसे सरल रख सकते हैं और केवल आगे फॉरवर्ड स्लैश का उपयोग कर सकते हैं। विंडोज दोनों समझता है। (यदि आप इसे दिखाने पर योजना बनाते हैं, तो आपको शायद विंडोज़ पर बैकस्लाश का उपयोग करना चाहिए - यह ओएस के साथ संगत होने के लिए अच्छा लगता है।) –