ऑफसेट
उत्तर
हां, आप lseek
देख रहे हैं।
हाँ, आप उपयोग कर सकते हैं lseek()
:
off_t lseek(int fd, off_t offset, int whence);
lseek()
समारोह के निर्देश के अनुसार खुले तर्कoffse
टी करने के लिए फ़ाइल वर्णनकर्ताfd
के साथ जुड़े फाइल की भरपाई पुनर्स्थानापन्नwhence
निम्नानुसार है:
SEEK_SET
ऑफ़सेट बाइट ऑफसेट करने के लिए सेट है।
SEEK_CUR
ऑफसेट अपने वर्तमान स्थान पर सेट प्लस बाइट्स ऑफसेट है।
SEEK_END
ऑफसेट फ़ाइल का आकार करने के लिए सेट के साथ साथ बाइट्स ऑफसेट है।
हां। आप the same library में lseek
फ़ंक्शन का उपयोग करते हैं।
फिर आप फ़ाइल के प्रारंभ या समाप्ति के सापेक्ष किसी भी ऑफसेट की तलाश कर सकते हैं, या वर्तमान स्थान के सापेक्ष।
उस लाइब्रेरी पृष्ठ से अभिभूत न हों। यहां कुछ सरल उपयोग उदाहरण दिए गए हैं और शायद सभी लोगों को कभी भी इसकी आवश्यकता होगी:
lseek(fd, 0, SEEK_SET); /* seek to start of file */
lseek(fd, 100, SEEK_SET); /* seek to offset 100 from the start */
lseek(fd, 0, SEEK_END); /* seek to end of file (i.e. immediately after the last byte) */
lseek(fd, -1, SEEK_END); /* seek to the last byte of the file */
lseek(fd, -10, SEEK_CUR); /* seek 10 bytes back from your current position in the file */
lseek(fd, 10, SEEK_CUR); /* seek 10 bytes ahead of your current position in the file */
शुभकामनाएँ!
pread/pwrite कार्यों उस फ़ाइल को स्वीकार ऑफसेट हैं:
ssize_t pread(int fd, void *buf, size_t count, off_t offset);
ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset);
+1। बहु-थ्रेडेड प्रोग्राम्स के लिए, 'प्रीड()' और 'प्राइट()' बेहतर होते हैं, क्योंकि वे फ़ाइल ऑफसेट को प्रभावित नहीं करते हैं (इसलिए एकाधिक थ्रेड बिना किसी लॉकिंग के और बिना किसी लॉकिंग के रेस स्थितियों के एक ही फ़ाइल डिस्क्रिप्टर से पढ़ सकते हैं() 'और 'पढ़ें()')। –
इसके अलावा केवल 1 सिस्टम कॉल! –
- 1. ऑफसेट
- 2. वांछित ऑफसेट
- 3. यूवी ऑफसेट
- 4. सामग्री ऑफसेट
- 5. टाइमस्ऑन ऑफसेट
- 6. ऑफसेट मान
- 7. TFileStream ऑफसेट
- 8. दिए गए 'एक्स' (प्रारंभ) ऑफसेट से 'y' (समापन) ऑफसेट
- 9. 'डेटटाइम' और 'डेटटाइम ऑफसेट'
- 10. PHP अवैध ऑफसेट प्रकार
- 11. फ़ाइल नाम + ऑफसेट
- 12. एसक्यूएल सर्वर ऑफसेट समकक्ष
- 13. java.lang.UnsupportedClassVersionError: ऑफसेट = 6
- 14. रूबी - प्रत्येक प्रारंभ ऑफसेट
- 15. Openlayers 3 ऑफसेट RegularShape
- 16. jQuery: स्थिति() और ऑफसेट()
- 17. जावा आउटपुटस्ट्रीम छोड़ें (ऑफसेट)
- 18. ऑफसेट() jquery फ़ंक्शन
- 19. ऑफसेट माता-पिता
- 20. php: यूटीसी ऑफसेट
- 21. साथ एक ऑफसेट
- 22. डब्ल्यूसीएफ डेटटाइम ऑफसेट अनुकूलता
- 23. मिनटों में यूटीसी ऑफसेट
- 24. PHP टाइमज़ोन नाम ऑफसेट
- 25. Chrome की ऑफसेट() विकल्प
- 26. सटीक ऑफसेट/स्थिति रिपोर्टिंग
- 27. एक अलग ऑफसेट
- 28. कैनवास में माउस ऑफसेट [fabric.js]
- 29. पांडस तिथि ऑफसेट और रूपांतरण
- 30. एक विशिष्ट कर्सर ऑफसेट स्थिति
वास्तव में क्या "जिस कारण से" क्या करता है? मैं "छेद" और "डेटा" शब्दों के उपयोग से थोड़ा उलझन में हूं। क्या डेटा गैर-शून्य मान और छेद शून्य मान है? – zaloo
'कहां' ऑफसेट करता है जो ऑफसेट के सापेक्ष है। इसलिए यदि आप 'SEEK_SET' के साथ 10 बाइट्स मांगते हैं, तो यह फ़ाइल की शुरुआत से 10 बाइट्स होगा। यदि आप फिर 'SEEK_CUR' के साथ 6 बाइट्स मांगते हैं, तो यह फ़ाइल की शुरुआत से 16 बाइट्स होगा। – paddy
अंतराल और छेद के बारे में चिंता न करें। वह उस स्थिति से निपट रहा है जहां आप फ़ाइल के अंत से पहले खोजना चाहते हैं। – paddy