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

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

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

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

C++ में फ़ाइल सिस्टम के साथ काम करना: बुनियादी से उन्नत तकनीकों तक



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



हम व्यावहारिक उदाहरण देखेंगे जो आपको न केवल सिद्धांत को समझने में मदद करेंगे, बल्कि प्राप्त ज्ञान को वास्तविक प्रोजेक्ट्स में तुरंत लागू करने में भी मदद करेंगे। सभी कोड उदाहरण परीक्षण किए गए हैं और उपयोग के लिए तैयार हैं।



1. फ़ाइलों के साथ काम करने की मूल बातें: इनपुट/आउटपुट स्ट्रीम



C++ में फ़ाइलों के साथ काम करने का सबसे सामान्य तरीका <fstream> लाइब्रेरी का उपयोग करना है। यह तीन मुख्य क्लास प्रदान करती है:



  • std::ifstream — फ़ाइल से पढ़ने के लिए (input file stream);
  • std::ofstream — फ़ाइल में लिखने के लिए (output file stream);
  • std::fstream — पढ़ने और लिखने दोनों के लिए (file stream)।


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



फ़ाइल से डेटा पढ़ने के लिए, एक std::ifstream ऑब्जेक्ट बनाएँ और फ़ाइल खोलें। फ़ाइल को पंक्ति दर पंक्ति पढ़ने का सबसे सरल तरीका std::getline फ़ंक्शन का उपयोग करना है:



#include <iostream>#include <fstream>#include <string>

int main() { std::ifstream inputFile("example.txt"); if (!inputFile.is_open()) { std::cerr << "फ़ाइल खोलने में त्रुटि!" << std::endl; return 1; }

std::string line; while (std::getline(inputFile, line)) { std::cout << line << std::endl; }

inputFile.close(); return 0;}


is_open() की जाँच पर ध्यान दें — यह एक महत्वपूर्ण अभ्यास है जो फ़ाइल के न होने पर प्रोग्राम को क्रैश होने से बचाता है।



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



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



#include <iostream>#include <fstream>

int main() { std::ofstream outputFile("output.txt", std::ios::app); if (!outputFile.is_open()) { std::cerr << "फ़ाइल बनाने में त्रुटि!" << std::endl; return 1; }

outputFile << "पंक्ति 1" << std::endl; outputFile << "पंक्ति 2" << std::endl; outputFile << "संख्या: " << 42 << std::endl;

outputFile.close(); return 0;}


बाइनरी फ़ाइलों के साथ काम करना



बाइनरी डेटा के लिए, ब्लॉक आकार निर्दिष्ट करते हुए read() और write() विधियों का उपयोग करें:



#include <iostream>#include <fstream>#include <cstring>

struct Record { int id; char name[50]; double value;};

int main() { // लिखना Record r = {1, "परीक्षण रिकॉर्ड", 3.14}; std::ofstream binOut("data.bin", std::ios::binary); binOut.write(reinterpret_cast<const char*>(&r), sizeof(r)); binOut.close();

// पढ़ना Record r2; std::ifstream binIn("data.bin", std::ios::binary); binIn.read(reinterpret_cast<char*>(&r2), sizeof(r2)); binIn.close();

std::cout << "ID: " << r2.id << ", नाम: " << r2.name << ", मान: " << r2.value << std::endl; return 0;}


2. आधुनिक दृष्टिकोण: std::filesystem लाइब्रेरी (C++17)



C++17 से शुरू करके, मानक लाइब्रेरी में <filesystem> जोड़ा गया, जो फ़ाइल सिस्टम के साथ काम करना काफी सरल बनाता है। यह

ब्लॉग

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