मैं निम्नलिखित की तरह कुछ करते हैं:मैं ऑपरेटर के साथ fstream के बाइनरी डेटा क्यों नहीं पढ़ सकता?
ifstream file;
file.open("somefile", ios::binary);
unsigned int data;
file >> data;
मेरे धारा हमेशा failbit
सेट हो जाएगा और data
अप्रारंभीकृत रहेगा। हालांकि, अगर मैं char
या unsigned char
पढ़ता हूं, तो स्ट्रीम ठीक है। perror()
मुझे "परिणाम बहुत बड़ा" बता रहा है।
केवल एक चीज मैं गूगल पर देखा एक सुझाव कह रही है कि operator>>
बाइनरी डेटा (पसंद करते हैं read()
) के लिए नहीं किया जाना चाहिए था, लेकिन मैं उपयोग करने के लिए स्वच्छ और आसान हो करने के लिए ऑपरेटर को खोजने के - और यह की आवश्यकता नहीं है सब कुछ कास्टिंग।
क्या कोई इस मुद्दे को समझा सकता है?
आपके पास यह कारण है कि यह आपके उत्तर में क्यों है: "यह निर्भर करता है कि int 32-बिट या 64-बिट है या नहीं।" वर्तमान में, '' का उपयोग कर कोड पोर्टेबल है, आपका प्रस्ताव नहीं है। –
Caleth