यदि मैं बाइट्स में फ़ाइल आकार रखने के लिए double
जैसे कुछ उपयोग करता हूं, तो यह स्वाभाविक रूप से बहुत जल्द विफल हो जाएगा, तो मैं किस डेटा प्रकार का उपयोग करूंगा? आजकल कुछ टीबी आम हैं, इसलिए मैं डेटा प्रकार को बड़ी संख्या में रखने में सक्षम होना चाहता हूं।सी: बाइट्स में फ़ाइल आकारों के लिए उपयोग करने के लिए सही डेटा प्रकार क्या है?
उत्तर
यह आपके मंच पर निर्भर करेगा। यूनिक्स सिस्टम पर, आप शायद off_t
प्रकार का उपयोग कर सकते हैं। विंडोज़ पर, आप शायद LARGE_INTEGER
का उपयोग करना चाहेंगे। वे सिस्टम पर फ़ाइल आकार (stat
यूनिक्स, GetFileSize
विंडोज़ पर वापस लौटने वाले फ़ंक्शन द्वारा उन सिस्टमों पर उपयोग किए जाने वाले प्रकार हैं)।
यदि आप एक पोर्टेबल प्रकार चाहते हैं, uint64_t
पर्याप्त होना चाहिए।
एक त्वरित Google सत्र के बाद ऐसा लगता है कि uint64_t मैं चाहता हूं। धन्यवाद! मैं प्रतिक्रियाओं और प्रतिक्रिया समय की संख्या से अभिभूत हूं। तो आश्चर्यजनक है! – EnibMoc1994
@ एनआईबीएमओसी 1 9 4 9: आप 'लंबे समय तक' या इसके हस्ताक्षरित साथी का भी उपयोग कर सकते हैं, जो कम से कम 64 बिट्स होने की गारंटी है। – caf
long long
size_t सी में filesizes के लिए सामान्य है एक पॉप पसंदीदा :) है, लेकिन यह के प्रकार के मंच निर्भर (विंडोज पर 32-बिट या 64-बिट अहस्ताक्षरित int) है। मैं सुझाव देता हूं कि __int64 (एक 64-बिट int) - 138,547,332 टेराबाइट्स का सामना करना चाहिए।
संपादित करें: बस जांचें, विंडोज एपीआई कॉल GetFileSizeEx
आपको एक LARGE_INTEGER प्राप्त करता है, जो 64-बिट हस्ताक्षरित पूर्णांक है। तो LARGE_INTEGER भी एक अच्छा होगा।
रिकॉर्ड के लिए, 64 बिट बिल्ड में आकार में 'size_t' 64 बिट आकार है। –
यह _not_ एक 'हस्ताक्षरित int' है, यह एक हस्ताक्षरित अभिन्न प्रकार है। – paxdiablo
माफी, @ पक्सडीब्लो, यह वास्तव में प्लेटफार्म निर्भर है जैसा आप इंगित करते हैं। 32-बिट का उपयोग कर विंडोज़ पर यह एक हस्ताक्षरित int के बराबर है। पिछली बार मुझे विश्वास है कि विजुअल स्टूडियो मुझे क्या बताता है। :) मेरे जवाब को और सटीक होने के लिए संपादित किया है। यहां अधिक जानकारी: http://en.wikipedia.org/wiki/Size_t –
ftello()
नामक एक फ़ंक्शन है जो off_t
देता है।
fgetpos()
के साथ, आपको fpos_t
वैरिएबल की आवश्यकता है - संपादित करें: जो आवश्यक अंकगणितीय प्रकार नहीं है।
तो off_t
आपकी आवश्यकताओं के अनुसार उपयुक्त/उपयुक्त होना चाहिए, और आपको वास्तविक डेटा प्रकार के आकार से स्वतंत्र रखता है।
बस सावधान रहें कि 'ftello' और' off_t' पॉज़िक्स हैं, मानक सी नहीं –
यदि आपके पास 'off_t' नहीं है तो आपके पास 'ftello' नहीं है और फ़ाइल ऑफसेट बड़े होने के लिए कोई (पोर्टेबल) तरीका नहीं है 'long' से ... –
libc stat
off_t
का उपयोग करता है, जो एक हस्ताक्षरित, 64-बिट चौड़े प्रकार के लिए टाइपेडफ है। यह थोड़ी देर के लिए उपयुक्त होगा।
off_t ओएस एक्स पर लंबे समय तक हस्ताक्षरित के लिए टाइपपीफ है। –
- 1. किसी XML फ़ाइल में दिनांक/समय के लिए उपयोग करने के लिए सही प्रारूप क्या है
- 2. जावा ऐप में पैसे के लिए उपयोग करने के लिए सबसे अच्छा डेटा प्रकार क्या है?
- 3. टाइमज़ोन स्टोर करने के लिए उपयुक्त डेटा प्रकार क्या है?
- 4. सी इंटरफेस में हैंडल के लिए सही प्रकार
- 5. क्या कतार के प्रकार के समानांतर डाटा प्रोसेसिंग में उपयोग करने के लिए - सी # - नेट 4
- 6. उपयोग करने के लिए डेटा संरचना क्या है?
- 7. सही/गलत मूल्य के लिए उचित डेटा फ़ील्ड प्रकार?
- 8. कुशल सी # बाइनरी संदेश के लिए स्ट्रीम ऑफ़ बाइट्स पार्स करने के लिए बाइट कतार
- 9. JSON के लिए सही MIME प्रकार क्या है?
- 10. एसएनएमपी प्रकार Unsigned32 के लिए सही एन्कोडिंग क्या है?
- 11. postgresql डीबी में अद्वितीय कुंजी के लिए सही डेटा प्रकार क्या है?
- 12. घड़ी_टी प्रिंट करने के लिए printf का उपयोग करने का सही तरीका क्या है?
- 13. फ़ाइल डाउनलोड ट्रिगर करने के लिए सही तरीका (PHP में)?
- 14. सी # में "आधा" (बाइनरी 16) के लिए क्या प्रकार है?
- 15. दो मान रखने के लिए उपयोग करने के लिए एक अच्छी डेटा संरचना क्या है?
- 16. सी/सी ++ में फ़ाइल * सूचक को घोषित करने और उपयोग करने का सही तरीका क्या है?
- 17. सी # - फ़ाइल के विशिष्ट बाइट्स पढ़ें
- 18. सी # में पैसे का प्रतिनिधित्व करने के लिए मुझे किस डेटा प्रकार का उपयोग करना चाहिए?
- 19. जेनेरिक्स और सही प्रकार के लिए कास्टिंग
- 20. यूटीएफ -8 डेटा के लिए सर्वश्रेष्ठ प्रकार?
- 21. पाइप सीमित फ़ाइलों के लिए उपयोग करने के लिए स्वीकृत फ़ाइल एक्सटेंशन क्या है?
- 22. वेब क्लाइंट.उप्लोड डेटा पोस्ट अनुरोध के लिए सही उपयोग
- 23. निर्देशिका आकारों की गणना करने के लिए सबसे तेज़ तरीका
- 24. आईओएस में अपवाद हैंडलिंग के लिए सही दृष्टिकोण क्या है?
- 25. माइक्रोसॉफ्ट यूनिकोड स्ट्रिंग्स के लिए डेटा प्रकार के रूप में उपयोग कर रहा है?
- 26. क्या सी ++ में डिलीट ऑपरेटर के लिए सही प्रकार आवश्यक है?
- 27. किसी प्रकार के प्रकार के लिए (आधिकारिक) शब्द क्या है?
- 28. unix_timestamp (MySQL) के लिए डेटा प्रकार क्या है?
- 29. कोर डेटा में GUID स्टोर करने के लिए मुझे किस डेटा प्रकार का उपयोग करना चाहिए?
- 30. हास्केल: स्रोत में संस्करण निर्दिष्ट करने के लिए सही अभ्यास?
+1 कुछ फर्जी का उपयोग करने के बजाय पूछने के लिए परेशान करने के लिए +1। :-) और एसओ में आपका स्वागत है! –