2013-04-09 7 views
5

के साथ ड्राइव प्रकार का निर्धारण कैसे करें मैं एक क्रॉस प्लेटफ़ॉर्म ऐप लिख रहा हूं जो कुछ घटनाओं पर फ़ाइलों को बनाना चाहिए, अब मुझे कोई समस्या है, यदि मेरा लक्ष्य हटाने योग्य डिस्क या नेटवर्क ड्राइव पर है तो मैं पहले स्थानीय हार्ड ड्राइव पर एक अस्थायी फ़ोल्डर में फ़ाइल बनाएं और फिर लक्ष्य पथ को हटाने के मामले में डेटा हानि से बचने के लिए इसे लक्ष्य पर ले जाएं।क्रॉस प्लेटफ़ॉर्म दृष्टिकोण

अब मेरा प्रश्न यह है कि मैं क्रॉस प्लेटफ़ॉर्म दृष्टिकोण में पथ का प्रकार कैसे इंगित करूं?

+0

"संकेत" से आपका क्या मतलब है? – didierc

+0

और आप परवाह क्यों करते हैं? यदि लेखन पथ के दौरान लक्ष्य पथ हटा दिया जाता है तो आप बफर को फ़्लश करते समय कुछ प्रकार की त्रुटि पॉप अप देखेंगे। – filmor

+0

फिर भी आप temp निर्देशिका से प्रतिलिपि क्यों नहीं करते हैं? – stdcall

उत्तर

0

मुझे लगता है कि यह विश्वसनीय और पोर्टेबल तरीके से हासिल करना काफी कठिन होगा। मुझे यकीन है कि सभी प्लेटफ़ॉर्म के पास यह पता लगाने का कोई तरीका है कि कोई ड्राइव स्थानीय है या नहीं, लेकिन मैंने सोचा होगा कि एक स्थानीय और अस्थायी फ़ाइल बनाने के लिए एक बहुत ही सरल और विश्वसनीय समाधान है जो बेस फाइल सिस्टम है।

+0

मेरी सेवा में वास्तव में बहुत अधिक भार है और हमेशा स्थानीय ड्राइव में फ़ाइलें बनाते हैं और फिर उन्हें ड्राइव ड्राइव पर ले जाते हैं, सेवा के लिए अतिरिक्त गतिविधि बनाते हैं जो ज्यादातर मामलों में आवश्यक नहीं है! – BigBoss

0

यदि आप QtMobility का उपयोग कर रहे हैं, तो आप QSystemStorageInfo कक्षा का उपयोग कर सकते हैं।

+0

मैं 'क्यूटी 'का उपयोग नहीं कर रहा हूं, मैं' std :: iostream' और 'boost :: filesystem' – BigBoss

+0

का उपयोग कर रहा हूं, इस मामले में यह कठिन होगा। AFAIK Boost.FileSystem नौकरी पर नहीं है। या तो आपको प्रत्येक समर्थित प्लेटफ़ॉर्म के लिए अपना प्लेटफ़ॉर्म-विशिष्ट कोड लिखना होगा, या एक सरल दृष्टिकोण अपनाना होगा जहां आप हमेशा अस्थायी फ़ाइल में लिखते हैं और केवल तभी इसे स्थानांतरित करते हैं। –

संबंधित मुद्दे