2012-12-02 11 views
6

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

जहां तक ​​मुझे पता है, dirent.h का उपयोग करके सभी तीन प्लेटफार्मों पर काम करता है। हालांकि, मैं जानना चाहता था कि क्या लाइब्रेरी का उपयोग करना आसान है या नहीं - सीधे प्रत्यक्ष रूप से उपयोग करना मेरे लिए भ्रमित था और मुझे कहीं भी नहीं मिला।

मैंने बूस्ट की भी कोशिश की, लेकिन मुझे यह तथ्य पसंद नहीं है कि यह हल्का वजन नहीं है और इससे मुझे अपने गेम के यूनिक्स बंदरगाहों पर परेशानी हुई।

विशेषताएं मैं की आवश्यकता होती है:

  • रिकर्सिवली पढ़ निर्देशिका पेड़
  • एक निर्देशिका
  • में सभी फाइलों जाओ एक निर्देशिका में सभी उप-निर्देशिका हो जाओ
+0

आप पुस्तकालय है कि मौजूदा फाइल सिस्टम के लिए या पुस्तकालय है कि एक फाइल सिस्टम (कंटेनर) को लागू करता है के बारे में आसान पहुँच प्रदान करता है के बारे में पूछ रहे हैं? –

+0

@ यूजीन मेवेस्की 'एल्डोस्कोप मैं एक पुस्तकालय के बारे में पूछ रहा हूं जो मुझे हार्ड ड्राइव में मौजूदा निर्देशिका/फ़ाइलों को पाने में मदद करता है। उदाहरण के लिए, मैं बिना किसी परेशानी के "सी:/माईगेम/डेटा/इमेजेस" में सभी .png फ़ाइलों को प्राप्त करना चाहता हूं। –

+0

क्या आपने अपना जीयूआई ढांचा जांच लिया है (आप एक गेम लिख रहे हैं, है ना?)? कभी-कभी वे फाइल सिस्टम जैसे अतिरिक्त सामान शामिल करते हैं। –

उत्तर

0

मेरे द्वारा बनाए गए मेरी स्वयं फ़ाइल सिस्टम लाइब्रेरी (विंडोज और लिनक्स पर परीक्षण, दोनों जीसीसी और क्लैंग के साथ)।

आप इसे SSVUtils पुस्तकालय में पा सकते हैं: https://github.com/SuperV1234/SSVUtils

SSVUtils कोई बाहरी निर्भरता है।

उदाहरण उपयोग:

log("Getting all page.json files", "loadPages"); 

string pagesPath("Json/Pages/"); 
vector<string> pageJsonPaths{getScan<Mode::Recurse, Type::File, Pick::ByName>(pagesPath, "page.json")}; 
संबंधित मुद्दे