C++ Academy · पाठ

ofstream से फ़ाइलें लिखना

आउटपुट फ़ाइलें लिखें

पाठ 2, कुल 4 में से13 चरण

ofstream से फ़ाइलें लिखना, CoddyKit पर C++ Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह C++ Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। C++ Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

ofstream क्या है

std::ofstream (आउटपुट फ़ाइल स्ट्रीम) फ़ाइलों में डेटा लिखती है। यह std::cout की तरह काम करती है, लेकिन इसका गंतव्य एक फ़ाइल होता है।

#include <iostream>
#include <fstream>

int main() {
    std::ofstream out("hello.txt");
    out << "Hello, file!\n";
    std::cout << "wrote file\n";
    return 0;
}

पाठ लिखना

स्ट्रिंग और संख्याएँ लिखने के लिए << ऑपरेटर का उपयोग करें, बिल्कुल वैसे ही जैसे कंसोल पर प्रिंट करते समय करते हैं।

#include <iostream>
#include <fstream>

int main() {
    std::ofstream out("report.txt");
    out << "Score: " << 95 << '\n';
    out << "Grade: A\n";
    std::cout << "done\n";
    return 0;
}

डिफ़ॉल्ट रूप से पुरानी सामग्री मिटती है

किसी मौजूदा फ़ाइल को ofstream से खोलने पर उसकी पिछली सामग्री मिट जाती है। हर बार प्रोग्राम का निष्पादन नई शुरुआत से होता है।

#include <iostream>
#include <fstream>

int main() {
    std::ofstream("t.txt") << "old content\n";
    std::ofstream out("t.txt");
    out << "new content\n";
    std::ifstream in("t.txt");
    std::string line; std::getline(in, line);
    std::cout << line << '\n';
    return 0;
}

app मोड से जोड़ना

मौजूदा सामग्री बनाए रखने और अंत में नया डेटा जोड़ने के लिए std::ios::app पास करें।

#include <iostream>
#include <fstream>

int main() {
    std::ofstream("log.txt") << "line1\n";
    std::ofstream out("log.txt", std::ios::app);
    out << "line2\n";
    out.close();
    std::ifstream in("log.txt");
    std::string l; int n = 0;
    while (std::getline(in, l)) ++n;
    std::cout << n << " lines\n";
    return 0;
}

जाँचें कि लेखन सफल हुआ या नहीं

खोलने के बाद स्ट्रीम का परीक्षण करें। यदि वह bad अवस्था में है, तो लेखन चुपचाप विफल हो जाएगा।

#include <iostream>
#include <fstream>

int main() {
    std::ofstream out("ok.txt");
    if (!out) {
        std::cout << "failed to open\n";
        return 1;
    }
    out << "safe write\n";
    std::cout << "write ok\n";
    return 0;
}

संख्याएँ और स्वरूपण लिखना

std::fixed और std::setprecision जैसे इनपुट/आउटपुट मैनिपुलेटर फ़ाइल स्ट्रीम पर भी लागू होते हैं।

#include <iostream>
#include <fstream>
#include <iomanip>

int main() {
    std::ofstream out("pi.txt");
    out << std::fixed << std::setprecision(3) << 3.14159 << '\n';
    out.close();
    std::ifstream in("pi.txt");
    std::string s; in >> s;
    std::cout << s << '\n';
    return 0;
}

डेटा का लूप लिखना

लूप चलाकर कई पंक्तियाँ लिखें। प्रत्येक पुनरावृत्ति फ़ाइल में एक Record भेजती है।

#include <iostream>
#include <fstream>

int main() {
    std::ofstream out("squares.txt");
    for (int i = 1; i <= 5; ++i) out << i << ' ' << i * i << '\n';
    out.close();
    std::cout << "wrote 5 rows\n";
    return 0;
}

बफ़र खाली करना

आउटपुट बफ़र में जमा होता है। std::flush या std::endl बफ़र को तुरंत डिस्क पर भेजता है; close करने पर भी बफ़र खाली हो जाता है।

#include <iostream>
#include <fstream>

int main() {
    std::ofstream out("flush.txt");
    out << "important" << std::flush;
    std::cout << "flushed to disk\n";
    return 0;
}

endl बनाम नई पंक्ति

'\n' केवल नई पंक्ति जोड़ता है। std::endl नई पंक्ति जोड़ने के साथ बफ़र भी खाली करता है, इसलिए तंग लूपों में यह धीमा होता है।

#include <iostream>
#include <fstream>

int main() {
    std::ofstream out("nl.txt");
    out << "fast\n";          // newline only
    out << "slow" << std::endl; // newline + flush
    std::cout << "both written\n";
    return 0;
}

पहले लिखना, फिर पढ़ना

एक सामान्य तरीका है: डेटा लिखें, close करें, फिर उसे वापस पढ़ने के लिए दोबारा खोलें।

#include <iostream>
#include <fstream>

int main() {
    {
        std::ofstream out("rt.txt");
        out << 7 << ' ' << 8 << '\n';
    }
    std::ifstream in("rt.txt");
    int a, b; in >> a >> b;
    std::cout << a + b << '\n';
    return 0;
}

खोलने के मोड चुनना

फ़्लैग को | के साथ मिलाएँ। सामान्य मोड हैं: ios::out (डिफ़ॉल्ट), ios::app (अंत में जोड़ना), ios::trunc (मिटाना)।

#include <iostream>
#include <fstream>

int main() {
    std::ofstream out("modes.txt", std::ios::out | std::ios::trunc);
    out << "fresh\n";
    std::cout << "opened with explicit modes\n";
    return 0;
}

त्वरित जाँच

ofstream के मोड की अपनी समझ जाँचिए।

पुनरावलोकन

आपने सीखा कि std::ofstream:

  • << से लिखती है और डिफ़ॉल्ट रूप से सामग्री को मिटा देती है
  • std::ios::app से डेटा अंत में जोड़ती है
  • आउटपुट को बफ़र करती है; std::flush/std::endl/close करने पर इसे डिस्क पर भेजती है

अब आप बाइनरी फ़ाइल इनपुट/आउटपुट के साथ कच्चे बाइट का प्रबंधन करेंगे।

शुरुआत निःशुल्क

एआई शिक्षक के साथ C++ सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
51
पाठ
203

अक्सर पूछे जाने वाले प्रश्न

क्या “ofstream से फ़ाइलें लिखना” पाठ निःशुल्क है?

हाँ — C++ Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “ofstream से फ़ाइलें लिखना” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। C++ Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“ofstream से फ़ाइलें लिखना” में मैं क्या सीखूँगा?

आउटपुट फ़ाइलें लिखें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ C++ Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या C++ Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर C++ Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“ofstream से फ़ाइलें लिखना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस C++ Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर C++ Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. ifstream से फ़ाइलें पढ़ना
  2. ofstream से फ़ाइलें लिखना
  3. बाइनरी फ़ाइल I/O
  4. त्रुटि-संभालना और स्थिति
← C++ Academy पर वापस जाएँ