C/C++: Compressing(gz) data without using temporary file -
इस सवाल का पहले से ही एक उत्तर है: < / P>
- 1 उत्तर
मेरे पास कुछ डेटा है सरणी,
uchar * डेटा = "संपीड़ित होने वाला डेटा।"; [कुछ डेटा]
मैं इस डेटा को संकुचित करना चाहता हूं ( gz ) और बफर में आउटपुट प्राप्त करना चाहते हैं।
uchar gzData [MAX_LEN];
ऐसा करने का एक तरीका है:
1. एक `ऑगस्टस्ट्रीम` वस्तु बनाना 2. इस डेटा को एक अस्थायी फ़ाइल में लिखना 3. अस्थायी फ़ाइल को बंद करें। 3. एक `इस्ट्रीम ™ ऑब्जेक्ट बनाएँ 4. अगर ऑस्ट्रिस्ट ऑब्जेक्ट का इस्तेमाल करते हुए बफ़र में अस्थायी फ़ाइल पढ़ें।
लेकिन मैं इस के लिए एक अस्थायी फ़ाइल का उपयोग नहीं करना चाहता क्योंकि यह पूरी प्रक्रिया धीमा कर रहा है।
क्या इस डेटा का उपयोग किए बिना संपीड़ित करने का कोई सीधा तरीका है किसी भी मध्यवर्ती फ़ाइल
आप ऐसा करने के लिए फ़िल्टरिंग
streambuf का उपयोग कर सकते हैं उड़ान पर। यह बहुत आसान है, लेकिन बूस्ट :: Iostreams ने पहले से ही आपके लिए किया है।
Comments
Post a Comment