Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C में fseek() बनाम rewind()

fseek()

C भाषा में fseek() का उपयोग फ़ाइल पॉइंटर को एक विशिष्ट स्थिति पर ले जाने के लिए किया जाता है। ऑफसेट और स्ट्रीम पॉइंटर के गंतव्य हैं, जो फ़ंक्शन पैरामीटर्स में दिए गए हैं। यदि सफल होता है, तो यह शून्य लौटाता है, अन्यथा गैर-शून्य मान लौटाया जाता है।

यहां C भाषा में fseek() का सिंटैक्स है:

int fseek(FILE *stream, long int offset, int whence)

यहां fseek() में उपयोग किए जाने वाले पैरामीटर्स हैं:

  • stream - यह स्ट्रीम की पहचान करने के लिए पॉइंटर है।

  • offset - यह स्थिति से बाइट्स की संख्या है।

  • whence - यह वह स्थिति है जहां से ऑफसेट जोड़ा जाता है।

whence को निम्नलिखित स्थिरांक में से एक द्वारा निर्दिष्ट किया जाता है:

  • SEEK_END - फ़ाइल का अंत।

  • SEEK_SET - फ़ाइल की शुरुआत।

  • SEEK_CUR - फ़ाइल पॉइंटर की वर्तमान स्थिति।

यहां C भाषा में fseek() का एक उदाहरण है:

मान लीजिए हमारे पास "demo.txt" फ़ाइल है जिसमें निम्नलिखित सामग्री है:

This is demo text! This is demo text! This is demo text! This is demo text!

अब आइए कोड देखें।

उदाहरण

#include <stdio.h>

void main() {
   FILE *f;
   f = fopen("demo.txt", "r");
   if (f == NULL) {
      printf("\n फ़ाइल नहीं खोल सकते या फ़ाइल मौजूद नहीं है।");
      exit(0);
   }
   fseek(f, 0, SEEK_END);
   printf("फ़ाइल का आकार: %ld बाइट्स", ftell(f));
   getch();
}

आउटपुट

फ़ाइल का आकार: 78 बाइट्स

उपरोक्त प्रोग्राम में, फ़ाइल "demo.txt" को fopen() का उपयोग करके खोला जाता है और fseek() फ़ंक्शन का उपयोग पॉइंटर को फ़ाइल के अंत में ले जाने के लिए किया जाता है।

rewind()

rewind() फ़ंक्शन का उपयोग दी गई स्ट्रीम की शुरुआत में फ़ाइल की स्थिति सेट करने के लिए किया जाता है। यह कोई मान नहीं लौटाता।

यहां C भाषा में rewind() का सिंटैक्स है:

void rewind(FILE *stream);

यहां C भाषा में rewind() का एक उदाहरण है:

मान लीजिए हमारे पास "new.txt" फ़ाइल है जिसमें निम्नलिखित सामग्री है:

This is demo! This is demo!

अब, आइए उदाहरण देखें।

उदाहरण

#include <stdio.h>

void main() {
   FILE *f;
   f = fopen("new.txt", "r");
   if (f == NULL) {
      printf("\n फ़ाइल नहीं खोल सकते या फ़ाइल मौजूद नहीं है।");
      exit(0);
   }
   rewind(f);
   fseek(f, 0, SEEK_END);
   printf("फ़ाइल का आकार: %ld बाइट्स", ftell(f));
   getch();
}

आउटपुट

फ़ाइल का आकार: 28 बाइट्स

उपरोक्त प्रोग्राम में, फ़ाइल को fopen() का उपयोग करके खोला जाता है और यदि पॉइंटर वेरिएबल null है, तो यह "फ़ाइल नहीं खोल सकते या फ़ाइल मौजूद नहीं है" प्रदर्शित करेगा। rewind() फ़ंक्शन पॉइंटर को फ़ाइल की शुरुआत में ले जाता है।

मुख्य अंतर

विशेषता fseek() rewind()
रिटर्न मान सफलता पर 0, विफलता पर गैर-शून्य कोई रिटर्न मान नहीं (void)
कार्यक्षमता फ़ाइल में किसी भी स्थिति पर जा सकते हैं केवल फ़ाइल की शुरुआत पर जाता है
पैरामीटर्स stream, offset, whence केवल stream
एरर हैंडलिंग रिटर्न मान के माध्यम से संभव सीधे एरर हैंडलिंग नहीं
  1. FLAC फ़ाइल क्या है? FLAC फ़ाइल क्या है?

    FLAC फ़ाइल एक्सटेंशन वाली फ़ाइल एक Free Lossless Audio Codec फ़ाइल है, एक ओपन सोर्स ऑडियो कम्प्रेशन फॉर्मेट। यह ऑडियो फ़ाइल को उसके मूल आकार के लगभग आधे तक कम्प्रेस करने के लिए उपयोग किया जा सकता है। Free Lossless Audio Codec के माध्यम से कम्प्रेस्ड ऑडियो लॉसलेस होता है, जिसका अर्थ है कि कम्प्रेशन क

  1. 7Z फ़ाइल क्या है? 7Z फ़ाइल क्या है?

    7Z फ़ाइल क्या है? 7Z फ़ाइल एक्सटेंशन वाली फ़ाइल एक 7-Zip कंप्रेस्ड फ़ाइल है। यह आपके कंप्यूटर पर एक फ़ोल्डर की तरह है, सिवाय इसके कि यह वास्तव में एक फ़ाइल की तरह कार्य करता है। एक फ़ोल्डर और एक 7Z फ़ाइल दोनों एक या अधिक फ़ाइलें, और यहां तक कि अन्य फ़ोल्डर भी स्टोर कर सकते हैं। हालांकि, फ़ोल्डर के

  1. AI फ़ाइल क्या है? AI फ़ाइल क्या है?

    AI फ़ाइल क्या है? .AI फ़ाइल एक्सटेंशन वाली फ़ाइल सबसे अधिक संभावना एक Adobe Illustrator आर्टवर्क फ़ाइल होती है जिसे Adobe के वेक्टर ग्राफिक्स प्रोग्राम Illustrator द्वारा बनाया गया है। यह Adobe Systems द्वारा विकसित और रखरखाव किया गया एक मालिकाना फ़ाइल फॉर्मेट है। बिटमैप इमेज जानकारी का उपयोग करने क