सी भाषा में फाइलों की रैंडम एक्सेसिंग निम्नलिखित कार्यों की मदद से की जा सकती है -
- बताओ ( )
- रिवाइंड ( )
- फ़सीक ( )
बताओ ( )
यह फ़ाइल ptr की वर्तमान स्थिति लौटाता है।
वाक्य रचना इस प्रकार है -
int n = ftell (file pointer)
उदाहरण के लिए,
FILE *fp; int n; _____ _____ _____ n = ftell (fp);
नोट - ftell ( ) का उपयोग फाइल में दर्ज किए गए वर्णों की संख्या की गणना के लिए किया जाता है।
रिवाइंड ( )
यह फ़ाइल ptr को फ़ाइल की शुरुआत में ले जाता है।
वाक्य रचना इस प्रकार है -
rewind (file pointer);
उदाहरण के लिए,
FILE *fp; ----- ----- rewind (fp); n = ftell (fp); printf ("%d”, n);
आउटपुट
आउटपुट इस प्रकार है -
0 (always).
फ़सीक ( )
यह फ़ाइल pntr को किसी फ़ाइल में किसी विशेष स्थान पर इंगित करने के लिए है।
वाक्य रचना इस प्रकार है -
fseek(file pointer, offset, position);
ऑफ़सेट
- पढ़ते या लिखते समय स्थानांतरित किए जाने वाले पदों की संख्या।
- यदि या तो नकारात्मक (या) सकारात्मक हो सकता है।
- सकारात्मक - आगे की दिशा।
- नकारात्मक - पीछे की दिशा।
स्थिति
इसके तीन मान हो सकते हैं, जो इस प्रकार हैं -
- 0 - फ़ाइल की शुरुआत।
- 1 - वर्तमान स्थिति।
- 2 - फ़ाइल का अंत।
उदाहरण
-
fseek (fp,0,2) - fp फ़ाइल के अंत से 0 बाइट आगे ले जाया गया।
-
fseek (fp, 0, 0) - fp फ़ाइल की शुरुआत से 0 बाइट्स आगे ले जाया गया
-
fseek (fp, m, 0) - fp फ़ाइल की शुरुआत से m बाइट्स को आगे बढ़ाता है।
-
fseek (fp, -m, 2) - fp फ़ाइल के अंत से m बाइट्स को पीछे की ओर ले जाता है।
त्रुटियां
fseek () फ़ंक्शन से संबंधित त्रुटियां इस प्रकार हैं -
- fseek (fp, -m, 0);
- fseek(fp, +m, 2);