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

C++ में फाइल से क्लास ऑब्जेक्ट पढ़ना/लिखना


iostream मानक लाइब्रेरी में मानक इनपुट स्ट्रीम से इनपुट स्वीकार करने के लिए cin और मानक आउटपुट स्ट्रीम पर आउटपुट प्रिंट करने के लिए cout दो विधियां हैं। इस लेख में हम सीखेंगे कि फाइलों से डेटा को क्लास ऑब्जेक्ट में कैसे पढ़ें और क्लास ऑब्जेक्ट में डेटा को फाइलों में कैसे लिखें।

फाइलों से डेटा पढ़ने और लिखने के लिए C++ के एक और मानक लाइब्रेरी की आवश्यकता होती है। fstream के तीन मुख्य डेटा प्रकार हैं -

  • ifstream - इनपुट फाइल स्ट्रीम को दर्शाता है और फाइलों से जानकारी पढ़ता है।
  • ofstream - आउटपुट फाइल स्ट्रीम को दर्शाता है और फाइलों में जानकारी लिखता है।
  • fstream - सामान्य फाइल स्ट्रीम को दर्शाता है और दोनों की क्षमताएं रखता है।

क्लास ऑब्जेक्ट बनाना

हम Name, Employee_ID, और Salary को सार्वजनिक डेटा सदस्यों के साथ एक क्लास Employee ले रहे हैं।

class Employee {    public:     char Name[];     long Employee_ID;     int Salary; } ; Employee Emp_1; Emp_1.Name=”Jhonson”; Emp_1.Employee_ID=212020; Emp_1.Salary=11000;

फाइल ऑब्जेक्ट बनाना

सिंटैक्स

fstream/ofstream/ifstream object_name; void open(const char *filename, ios::openmode); ofstream file1; file1.open( “Employee.txt”, ios::app );
  • यहां file1 Employee.txt फाइल को अपेंड मोड में खोलने के लिए उपयोग किया जाने वाला ऑब्जेक्ट है (नई सामग्री अंत में जुड़ जाती है)। file1 ऑब्जेक्ट का प्रकार ofstream है जिसका अर्थ है कि हम Employee.txt में लिख सकते हैं।

ifstream file2; file2.open( “Employee.txt”, ios::in );
  • यहां file2 Employee.txt फाइल को इनपुट मोड में खोलकर सामग्री पढ़ने के लिए उपयोग किया जाने वाला ऑब्जेक्ट है। file1 ऑब्जेक्ट का प्रकार ifstream है जिसका अर्थ है कि हम केवल Employee.txt से डेटा पढ़ सकते हैं।

क्लास ऑब्जेक्ट लिखना और पढ़ना

file1.write( (char*)&Emp_1, sizeof(Emp1) );
  • यहां क्लास ऑब्जेक्ट Emp_1 में मौजूद डेटा को write फ़ंक्शन कॉल करके Employee.txt फाइल में लिखा जाता है। (char*)&Emp_1 का उपयोग ऑब्जेक्ट की शुरुआत पर इंगित करने के लिए किया जाता है और sizeof(Emp_1) फाइल में कॉपी किए गए बाइट्स की संख्या की गणना करता है।

file2.read( (char*)&Emp_1, sizeof(Emp1) );
  • यहां क्लास ऑब्जेक्ट Emp_1 में मौजूद डेटा को read फ़ंक्शन कॉल करके Employee.txt फाइल से पढ़ा जाता है। (char*)&Emp_1 का उपयोग ऑब्जेक्ट की शुरुआत पर इंगित करने के लिए किया जाता है और sizeof(Emp_1) फाइल से पढ़े गए बाइट्स की संख्या की गणना करता है।

फाइल बंद करना

file1.close(); file2.close();

फाइलों के इनपुट स्ट्रीम और आउटपुट स्ट्रीम को बंद करने के लिए।

उदाहरण

#include <iostream> #include <fstream> using namespace std; // गुणों को परिभाषित करने के लिए क्लास class Employee { public:    string Name;    int Employee_ID;    int Salary; }; int main(){    Employee Emp_1;    Emp_1.Name="John";    Emp_1.Employee_ID=2121;    Emp_1.Salary=11000;    // इस डेटा को Employee.txt में लिखना    ofstream file1;    file1.open("Employee.txt", ios::app);    file1.write((char*)&Emp_1,sizeof(Emp_1));    file1.close();    // EMployee.txt से डेटा पढ़ना    ifstream file2;    file2.open("Employee.txt",ios::in);    file2.seekg(0);    file2.read((char*)&Emp_1,sizeof(Emp_1));    printf("\nName :%s",Emp_1.Name);    printf("\nEmployee ID :%d",Emp_1.Employee_ID);    printf("\nSalary :%d",Emp_1.Salary);    file2.close();    return 0; }

आउटपुट

Name: John Employee ID: 2121 Salary: 11000

  1. iOS पर फाइल कैसे बनाएं, उसमें डेटा लिखें और उससे डेटा पढ़ें? iOS पर फाइल कैसे बनाएं, उसमें डेटा लिखें और उससे डेटा पढ़ें?

    एक सॉफ्टवेयर डेवलपर होने के नाते हमें हमेशा पता होना चाहिए कि फाइलों के साथ कैसे खेलें, फाइल में लिखें, फाइल से पढ़ें आदि। इस पोस्ट में हम वही सीखने जा रहे हैं, हम एक फाइल बनाएंगे और उसमें डेटा लिखेंगे और बाद में उसी फाइल के माध्यम से पढ़ेंगे। चरण 1: नया Xcode प्रोजेक्ट बनाएं नया Xcode प्रोजेक्ट

  1. - C प्रोग्राम: फाइल से डेटा पढ़कर प्रदर्शित करना

    समस्या C प्रोग्रामिंग का उपयोग करके फाइल में मौजूद आइटम्स की श्रृंखला को पढ़कर कॉलम या टेबुलर फॉर्म में डेटा प्रदर्शित करना। समाधान राइट मोड में एक फाइल बनाएं और उसमें कुछ जानकारी की श्रृंखला लिखें और इसे बंद करें फिर खोलें और कंसोल पर कॉलम में डेटा की श्रृंखला प्रदर्शित करें। फाइल खोलने का राइट

  1. C/C++ में lseek() का उपयोग करके वैकल्पिक nth बाइट पढ़ना और दूसरी फाइल में लिखना C/C++ में lseek() का उपयोग करके वैकल्पिक nth बाइट पढ़ना और दूसरी फाइल में लिखना

    इस ट्यूटोरियल में, हम एक प्रोग्राम पर चर्चा करेंगे कि कैसे वैकल्पिक nth बाइट को पढ़ा जाए और दूसरी फाइल में लिखा जाए। इसके लिए, हमें दो .txt फाइलें प्रदान की जाएंगी। हमारा कार्य lseek() का उपयोग करके एक फाइल की सामग्री को दूसरी फाइल में लिखना है जिसका उपयोग फाइल डिस्क्रिप्टर के पॉइंटर को बदलने के लिए