C++ में फ़ाइल सिस्टम के साथ काम करना: शुरुआती लोगों के लिए पूर्ण गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

C++ में फ़ाइल सिस्टम के साथ काम करना: शुरुआती लोगों के लिए

\n\n

फ़ाइल सिस्टम के साथ काम करना किसी भी प्रोग्रामर के लिए एक प्रमुख कार्य है। C++ में फ़ाइलों और निर्देशिकाओं के साथ बातचीत करने के कई तरीके हैं: क्लासिक fstream स्ट्रीम से लेकर आधुनिक std::filesystem (C++17) तक। इस लेख में हम मुख्य संचालनों पर चर्चा करेंगे: फ़ाइलों को पढ़ना और लिखना, उनके अस्तित्व की जाँच करना, फ़ोल्डर बनाना और हटाना, और फ़ाइल सिस्टम में नेविगेट करना। सभी कोड उदाहरण C++ में लिखे गए हैं और शुरुआती लोगों के लिए उपयुक्त हैं।

\n\n

1. fstream के माध्यम से फ़ाइलों के साथ काम करने की मूल बातें

\n\n

क्लासेस ifstream (फ़ाइल से इनपुट), ofstream (फ़ाइल में आउटपुट) और fstream (इनपुट/आउटपुट) टेक्स्ट और बाइनरी फ़ाइलों के साथ काम करने के लिए बुनियादी उपकरण हैं। ये हेडर फ़ाइल <fstream> में स्थित हैं।

\n\n

फ़ाइल से पढ़ना

\n

फ़ाइल से डेटा पढ़ने के लिए, एक ifstream ऑब्जेक्ट बनाएँ और फ़ाइल खोलें। सुनिश्चित करें कि फ़ाइल मौजूद है, अन्यथा स्ट्रीम त्रुटि स्थिति में होगी।

\n\n
#include <iostream>\n#include <fstream>\n#include <string>\n\nint main() {\n    std::ifstream file("example.txt");\n    if (!file.is_open()) {\n        std::cerr << "फ़ाइल खोलने में त्रुटि\\n";\n        return 1;\n    }\n\n    std::string line;\n    while (std::getline(file, line)) {\n        std::cout << line << std::endl;\n    }\n\n    file.close();\n    return 0;\n}
\n\n

फ़ाइल में लिखना

\n

लिखने के लिए ofstream का उपयोग करें। यदि फ़ाइल मौजूद नहीं है, तो वह बनाई जाएगी। यदि मौजूद है, तो सामग्री अधिलेखित हो जाएगी (जब तक कि फ़्लैग std::ios::app निर्दिष्ट न हो)।

\n\n
#include <fstream>\n\nint main() {\n    std::ofstream file("output.txt");\n    if (!file.is_open()) {\n        std::cerr << "फ़ाइल बनाने में विफल\\n";\n        return 1;\n    }\n\n    file << "Hello, world!\\n";\n    file << "C++ फ़ाइल सिस्टम\\n";\n\n    file.close();\n    return 0;\n}
\n\n

फ़ाइल के अंत में डेटा जोड़ना

\n

पिछले डेटा को हटाए बिना अंत में डेटा जोड़ने के लिए फ़्लैग std::ios::app (append) का उपयोग करें।

\n\n
std::ofstream file("log.txt", std::ios::app);\nfile << "नई प्रविष्टि\\n";\nfile.close();
\n\n

2. निर्देशिकाओं और फ़ाइल सिस्टम के साथ काम करना (C++17)

\n\n

C++17 से शुरू करके, मानक लाइब्रेरी में हेडर <filesystem> शामिल है, जो फ़ाइल सिस्टम के साथ काम करने के लिए एक सुविधाजनक और क्रॉस-प्लेटफ़ॉर्म इंटरफ़ेस प्रदान करता है। इसका उपयोग करने के लिए, कंपाइलेशन फ़्लैग -std=c++17 (या उच्चतर) जोड़ें और <filesystem> शामिल करें।

\n\n

फ़ाइल या निर्देशिका के अस्तित्व की जाँच करना

\n
#include <iostream>\n#include <filesystem>\nnamespace fs = std::filesystem;\n\nint main() {\n    fs::path p = "example.txt";\n    \n    if (fs::exists(p)) {\n        std::cout << "फ़ाइल मौजूद है\\n";\n        std::cout << "आकार: " << fs::file_size(p) << " बाइट्स\\n";\n    } else {\n        std::cout << "फ़ाइल नहीं मिली\\n";\n    }\n    return 0;\n}
\n\n

निर्देशिकाएँ बनाना और हटाना

\n
#include <filesystem>\nnamespace fs = std::filesystem;\n\nint main() {\n    // एक निर्देशिका बनाना\n    if (fs::create_directory("my_folder")) {\n        std::cout << "फ़ोल्डर बनाया गया\\n";\n    }\n\n    // नेस्टेड निर्देशिकाएँ बनाना\n    fs::create_directories("a/b/c");\n\n    // खाली निर्देशिका हटाना\n    fs::remove("my_folder");\n\n    // सभी सामग्री सहित निर्देशिका हटाना (सावधानी!)\n    // fs::remove_all("a");\n\n    return 0;\n}
\n\n

निर्देशिका की सामग्री को पुनरावृत्त करना

\n
#include <iostream>\n#include <filesystem>\nnamespace fs = std::filesystem;\n\nint main() {\n    std::string path = ".";\n    for (const auto& entry : fs::directory_iterator(path)) {\n        if                

ब्लॉग

पुस्तक अनुशंसाएँ