मैं "ए + बी" मोड का उपयोग कर एक फ़ाइल खोलना चाहता हूं, यानी यदि यह अस्तित्व में नहीं है तो यह स्वचालित रूप से बनाया जाता है, लेकिन अगर ऐसा होता है तो मैं इसे ओवरराइट नहीं करना चाहता हूं। मैं फ़ाइल को
से बड़ी फ़ाइल का आकार निर्धारित करना वर्तमान में यह कोड करता है और fgetpos 4 जीबी से बड़ी फ़ाइलों को संभालता है लेकिन खोज एक त्रुटि देता है, इसलिए किसी भी विचार को file > 4GB के अंत तक कैसे खोजना है?
मैं एक फ़ाइल की शुरुआत करने के लिए वापस जाने के लिए दो तरीकों पर ध्यान दिया है FILE *fp = fopen("test.bin", "r")
fseek(fp, 0, SEEK_END);
rewind(fp);
और FILE *fp = fopen("test.bin", "r")
fseek(fp,
यह एक शुद्ध प्रोग्रामिंग प्रश्न नहीं है, हालांकि यह fseek() का उपयोग कर प्रोग्राम के प्रदर्शन को प्रभावित करता है, इसलिए यह जानना महत्वपूर्ण है कि यह कैसे काम करता है। थोड़ा अस्वीकरण ताकि वह बंद न हो।
ftello/fseeko और fgetpos/fsetpos के बीच क्या अंतर है? दोनों फाइल पॉइंटर को प्राप्त करने/सेट करने वाले फ़ंक्शंस होने लगते हैं जो कभी-कभी 64 बिट ऑफ़सेट की अनुमति देने के लिए अपारदर्शी ऑफसेट प्रकारों का