क्या डिवाइस से / के लिए हस्तांतरित डेटा की मात्रा निर्धारित करने का एक तरीका है। मैं ब्लॉक या सेक्टर आकार के बारे में नहीं पूछ रहा हूं। मैं एक रीड / राइट ऑपरेशन द्वारा हस्तांतरित राशि जानना चाहता हूं।
उदाहरण के लिए, यदि मैं 0x200 बाइट के 1 ब्लॉक को स्थानांतरित करना चाहता हूं:
ब्लॉक = फ़्रेड ((शून्य *) & amp; ब्लॉक; 0x200, 1, फ़ाइल * fp)
क्या होता है अगर मैं फ़ाइल के अंत तक पहुँचता हूं और केवल एक आंशिक ब्लॉक पढ़ा जाता है, और मैं वास्तविक बाइट गणना कैसे निर्धारित करता हूं।
मुझे लगता है कि मैं इसके विपरीत कर सकता हूं:
बाइट्स = फ़्रेड ((शून्य *) & ब्लॉक; 1, 0x200, फ़ाइल * एफपी);
लेकिन क्या होगा अगर मैं कई ब्लॉक पढ़ना चाहता हूँ ???
क्या ioctl (dev, FNUM) जैसे कर्नेल फ़ंक्शन है जो वास्तविक बाइट काउंट लौटाएगा?
बहुत धन्यवाद, सीबी