द्विआधारी लिखने के लिए, जिस चाल को मैंने सबसे उपयोगी पाया है, वह सभी बाइनरी को स्मृति में एक सरणी के रूप में स्टोर करना है और फिर इसे हार्ड ड्राइव पर ले जाना है। एक समय में थोड़ा सा करना, या एक समय में एक बाइट करना, या एक समय में एक लंबे समय तक हस्ताक्षरित एक लंबे समय तक एक सरणी में संग्रहीत सभी डेटा और "fwrite()" के एक उदाहरण का उपयोग करके इसे स्टोर करने के लिए तेज़ नहीं है हार्ड ड्राइव।
size_t fwrite (कॉन्स शून्य * पीआरटी, आकार_टी आकार, आकार_टी गिनती, फ़ाइल * स्ट्रीम);
रेफरी: http://www.cplusplus.com/reference/clibrary/cstdio/fwrite/
अंग्रेजी में:।
fwrite ([संग्रहीत डेटा के * सरणी], [सरणी वस्तु की बाइट में आकार अहस्ताक्षरित वर्ण के लिए -> 1, अहस्ताक्षरित लंबे देशांतर के लिए -> 8 ], [सरणी में उदाहरणों की संख्या], [फ़ाइल *])
हमेशा सफलता के सत्यापन के लिए अपने रिटर्न की जांच करें!
इसके अतिरिक्त, एक तर्क दिया जा सकता है कि ऑब्जेक्ट प्रकार जितना संभव हो उतना बड़ा हो (जाने के लिए सबसे तेज़ तरीका है ([लंबे समय तक हस्ताक्षर किए गए]> [char])। जबकि मुझे "fwrite()" के पीछे कोडिंग में नहीं पता है, मुझे लगता है कि आपके कोड में इस्तेमाल होने वाली प्राकृतिक वस्तु से [अप्रमाणित लंबे समय तक] में परिवर्तित करने का समय लगता है, "fwrite() से अधिक लेखन के साथ संयुक्त होने में अधिक समय लगेगा "आपके पास जो कुछ है उसके कारण बना रहा है।
वापस जब मैं हफमैन कोडिंग सीख रहा था, मुझे यह महसूस करने में कुछ घंटे लगे कि [char] और [unsigned char] के बीच कोई अंतर था। इस विधि के लिए नोटिस कि आपको शुद्ध बाइनरी को स्टोर करने के लिए हमेशा हस्ताक्षरित चर का उपयोग करना चाहिए।
स्रोत
2011-12-30 09:07:53
आपकी सलाह, कि मुझे देखने के लिए जहां पर एक संभाल दिया है के लिए आप फ्रेड धन्यवाद। –