What is C++ File handling in hindi-c++ फाइल हैंडलिंग क्या है?

हेल्लो दोस्तों आज के इस पोस्ट में आपको C++ File handling in hindi के बारे में बताया गया है की क्या होता है कैसे काम करता है तो चलिए शुरू करते है

c++ file handling का परिचय

c++ के द्वारा files को भी handle किया जा सकता है इसके लिए c++ आपको streams provide करती है basically c++ में आप files के साथ निचे दी गए tasks को perform कर सकते है

  1. opening a file
  2. reading from a file
  3. writing to a file
  4. closing a file

c++ में file handling support provide किये जाने का मुख्य कारण output को permanently स्टोर करना होता है normally जब भी आप कोई program run करते है तो इसका output console window से exit होते है तो आपके program का output भी lost हो जाता है

ऐसी situation में एक ऐसे mechanism की requirement थी जिससे की output को permanently hard disk पर किसी file में स्टोर किया जा सके और जरुरत पड़ने पर उसे वापस retrieve किया जा सके

c++ file handing provide किये जाने का दूसरा मुख्य कारण output को दुबारा प्रयोग करना है एक बार जब आप output को file स्टोर करवा ले तो उसे future में वापस भी प्रयोग कर सकते है example के लिए आप इसे किसी दुसरे program में इनपुट के रूप में प्रयोग कर सकते है

आगे file handing में प्रयोग होने वाली stream classes के बारे में बताय जा रहा है यदि आपको streams का concept clear नहीं है

c++ file stream classes

file operations को perform करने के लिए c++ आपको ३ stream classes provide करती है तो आएय इनके बारे में जानने का प्रयास करते है

ifstream class

इस class के objects इनपुट file stream को represent करते है और file से input लेने के लिए प्रयोग किये जाते है

ofstream class

इस class के objects file output stream को represent करते है इस class के द्वारा आप files को क्रिएट करते है और file में output भी write करते है

fstream class

इस class के object complete file stream को represent करते है इस class के object से आप file से इनपुट read भी कर सकते है और file में output write भी कर सकते है

opening a file

c++ में file को open करने के लिएय आप open() मेथड का प्रयोग करते है इस method को उपर किसी भी file stream class के object पर call किया जा सकता है इस method का general syntax निचे दिया जा रहा है

void open(const char *filename,ios::mode);

जैसे की आप उपर दिए गए syntax में देख सकते है की open() method २ argument लेता है पहला argument एक constant character type का file name होता है जो की basically ये के pointer होता है जो की memory में file पॉइंट करता है पहले argument के रूप में आप कोई भी variable नहीं दे सकते है

file open करने के लिए fopen() method में दूसरा argument आप file opening mode pass करते है इन mode के बारे में आगे details से समझाया जा रहा है

file opening modes

किसी भी file से आप इनपुट read करे या उसमे output write करे सबसे पहले उसे property open करना जरुरी है files को अलग अलग purpose के लिए open किया जाता है इसीलिए c++ आपको file open करने के लिए अलग अलग modes provide करती है इन्हे file opening modes कहा जाता है

इन modes का प्रयोग file की safety के लिए होता है इन mode के द्वारा आप authentication provide करते है और कौन सा program file से read भी कर सकते है write भी कर सकते है और modify भी कर सकते है

निचे file opening modes की list दी जा रही है इन modes को आपको files open करने के लिए डिफाइन करना होता है

mode

explanation

Ios::inये mode file को read only permission के साथ open करता है इस mode में open की गयी files में आप कुछ भी write नहीं कर सकते है ifstream class के objects के लिए ये default mode होता है
Ios::outइस mode से file write only permission के साथ open की जाती है इस mode से open की गयी files से आप इनपुट read नहीं कर सकते है ofstream class के object के लिए ये default mode होता है
Ios::appये mode existing file के end में output append करने के लिए प्रयोग किया जाता है इसे append mode कहते है
Ios::ateये mode output के लिएय open किया जाता है इस mode में file open होते ही controlfile के आखिर में पहुच जाता है
Ios::truncइस mode में open की गयी file का पूरा content delete हो जाता है यदि आप file के existing content को delete करके उसमे नया data भरना चाहते है तो आप ये mode प्रयोग कर सकते है

 

अभी तक आपने open() method के syntax के बारे में जाना है तो आएये अब इसे एक example से समझने का प्रयास करते है

ifstream obj;
obj.open(“MyFile.txt”,ios::app);

उपर दिए गए example में ifstream class के object पर open method को call किया गया है method में file का नाम और appending mode pass किया गया है

आप चाहे तो बिना opening mode pass किये भी file को इस प्रकार open कर सकते है

ifstream obj;
obj.open(“MyFile.txt”)

जब आप कोई भी opening mode pass नहीं करते है तो object की class का default mode प्रयोग किया जाता है जैसा की में पहले बात चूका हु ifstream class का default mode ios::in है और ofstream class का default mode ios::out है इसके आलावा fstream class के लिए ये दोनों ही default mode होते है ifstream class के object के द्वारा आप out mode में और ofstream class के object के द्वारा आप in mode में file open नहीं कर सकते है

writing to a file

files में output करने के लिए आप ofstream class के object को प्रयोग करते है इस object को left shift operator(<<) के साथ प्रयोग किया जाता है जिसका general syntax निचे दिया जा रहा है

ofstream-object<<variable-name;

तो आएये इसे example से समझने का प्रयास करते है

#include<iostream>
#include<fstream>
Using namespace std;
Int main()
{
       Ofstream fobj;
       Fobj.open(“MyFile”);   //ofstream class object
       Cout<<”enter your name:”;
       Char yrname[30];
        Cin.getline(yrname,30);  //taking input from user
        Cout<<”writing your name to file”;
       Fobj<<yrname;      //writing name into file
        Cout<<”your name was written into file…”;
        Fobj.close();
        Return 0;
}

उपर दिए गए program दिया गया output को generate करता है

enter your name:
javahindi
writing your name to file
your name was written into file

reading from a file

files में से इनपुट read करने के लिए आप ifstream class के object को प्रयोग करते है इस object को overloaded right shift operator(>>) के साथ प्रयोग किया जाता है जिसका आपको general syntax निचे दिया जा रहा है

ifstream-obj>>variable-name;

इसे निचे example के माधयम से समझाया जा रहा है इस example में MyFile से वापस name को read किया जा रहा है इसे पहले उपर दी गए example में MyFile में name को write किया गया है

#include<iostream>
#include<fstream>
Using namespace std;
Int main()
{
       Ifstream ifobj;
       Char yrname[30];
        Ifobj .open(“MyFile”);
        Cout<<”reading data from file…”;
        Ifobj>>yrname;
        Cout<<yrname;
        Ifobj.close()
         Return 0;
}

उपर दिए गए program में निचे दिया गया output को generate करता है

reading data from file
javahindi

closing a file

एक बार जब भी आप file के साथ read/write operation को perform कर ले तो आप उस stream को close करते है तो इसके लिए आप close() method का प्रयोग करेंगे इस method को आप stream object पर call करते है जिसका general syntax आपको निचे दिया जा रहा है

stream-class-object.close();

c++ file pointers

जब भी आप c++ के द्वारा किसी file को read और write करने के लीये open करते है तो उसके साथ 2 तरह के pointer associated रहते है ये pointer file में start से end तक कही भी move कर सकते है

  1. get pointer-इसे input pointer भी कहा जाता है ये pointer file में किसी particular लोकेशन से इनपुट को read करने के लिए प्रयोग किया जाता है जब भी आप file को read only mode में open करते है तो by default get pointer file के beginning में होता है
  2. put pointer –इसे output pointer भी कहा जाता है इस pointer से आप file में एक particular लोकेशन पर output को स्टोर कर सकते है जब भी आप file को write only mode में open करते है तो file का content delete हो जाता है और by default put pointer file के beginning में होता है

note:जब आप किसी file को append mode में open करते है तो put pointer existing content में आखिर में होता है

manipulating file pointer

pointer को उनकी default position से move किया जा सकता है इसके लिए c++ आपको 4 function provide करती है इन function को stream class object पर call किया जाता है

  1. seekg()-ये function get pointer को argument के रूप में specify की गयी लोकेशन पर move करता है argument में आप byte number pass करते है इसे execute होने के बाद उसी byte लोकेशन से इनपुट read किया जा सकता है
  2. seekp()-ये function put pointer को specify की गयी लोकेशन पर move करता है इस function में भी argument के रूप में byte number pass किया जाता है इसे execute होने के बाद आप उसी लोकेशन से output स्टोर करना प्रारंभ कर सकते है
  3. tellg()-ये function get pointer की current position return करती है
  4. tellp()-ये function put pointer की current लोकेशन को return करती है

example

#include<iostream>
#include<fstream>
Using namespace std;
Int main()
{
        Ifstream ifobj;
        Ifobj.open(“MyFile”,);     //read only
        Ofstream ofobj;
        Ofobj.open(“MyFile”,ios::app)   
//append mode
         Cout<<”current postion of input 
file pointer:”<<ifobj.tellg()<<endl;
        Cout<<Going to postion 10th “<<endl;
        Ifobj.seekg(10);
        Cout<<current position of input file
 pointer:”<<ifobj.tell()<<endl<<endl;
         Cout<<”current position of input 
file pointer :”ofobj.tellp()<<endl;
         Cout<<”going to 15th position”<<endl;
         Cout<<”current position of output
 file pointer:”ofobj.seekp(15)<<endl;
        Return 0;
}

उपर दिए गए program में निचे दिया output को generate करता है

current position of input pointer :-1
going to position 10th
current position of output file pointer: -1
going to 15th position:
current position of output file pointer :14

C++ File handling in hindi

reference-https://www.geeksforgeeks.org/file-handling-c-classes/

निवेदन:-आप सभी छात्र –छात्रों से निवेदन है की अगर आपको ये Topic(C++ File handling in hindi) या post अच्छा लगा हो तो कृपया आप इस वेबसाइट के बारे में अपने दोस्तों(C++ File handling in hindi) को जरुर बताये और -अगर कोई topic(C++ File handling in hindi) से संबधित प्रश्न हो तो कमेंट्स(comments) आपके लिए ही बना है और किसी Subject(C++ File handling in hindi) के लेकर भी कोई प्रश्न हो तो कमेंट करे

Leave a Comment