कैसे एक पाठ फ़ाइल पढ़ें और सी में सभी स्ट्रिंग्स को प्रिंट करें

Kaise Eka Patha Fa Ila Parhem Aura Si Mem Sabhi Stringsa Ko Printa Karem



एक पाठ फ़ाइल पढ़ना और सभी को प्रिंट करना तार एक महत्वपूर्ण कार्य है जो अक्सर सी प्रोग्रामर द्वारा किया जाता है। की मूल बातों को समझना जरूरी है अध्ययन पाठ फ़ाइल सी में और कैसे करें छपाई तार इस कार्य का प्रयास करने से पहले इससे।

इस आलेख में सी प्रोग्रामिंग का उपयोग करके पाठ फ़ाइल को पढ़ना और इसमें शामिल सभी स्ट्रिंग्स का मुद्रण प्रदर्शित किया जाएगा।







एक पाठ फ़ाइल पढ़ें और सी में सभी स्ट्रिंग्स प्रिंट करें

C में एक टेक्स्ट फाइल को पढ़ने और सभी स्ट्रिंग्स को प्रिंट करने के चार फंक्शन हैं, जो इस प्रकार हैं:



विधि 1: फ़्रेड () फ़ंक्शन

डेटा है फ़ाइल से पढ़ें और C फ़ंक्शन का उपयोग करके एक बफ़र में संग्रहीत किया जाता है फ़्रेड () . सरणी बफ़र में तत्वों की गणना करने के लिए, फ़्रेड () विधि फ़ंक्शन पैरामीटर के रूप में प्रदान की गई इनपुट स्ट्रीम से पढ़ती है। जैसा कि प्रत्येक वर्ण फ़ंक्शन पढ़ता है, निर्दिष्ट इनपुट स्ट्रीम के लिए फ़ाइल स्थिति सूचक आगे बढ़ता है।



फ़्रेड () सी में विधि का वाक्य-विन्यास है।





size_t फ़्रेड ( खालीपन * array_buffer, size_t आकार , size_t गिनती, फ़ाइल * फ़ाइल धारा )

आइए आगे विस्तार से फ़्रेड () फ़ंक्शन पैरामीटर देखें:



सरणी बफर: डेटा को कंप्यूटर के बफर, एक मेमोरी स्पेस में अस्थायी रूप से रखा जाता है। यह तर्क बफर की स्मृति में जगह का जिक्र करने वाला एक सूचक है जिसमें डेटा होगा पढ़ना इनपुट स्ट्रीम से।

आकार: यह तर्क फ़ंक्शन को निर्देश देता है कि प्रत्येक ब्लॉक के लिए इनपुट स्ट्रीम से कितने बाइट डेटा पढ़ा जाएगा।

गिनती करना: यह निर्दिष्ट करता है कि डेटा इनपुट स्ट्रीम से कितने वर्ण पढ़े जाएंगे।

फ़ाइल धारा: यह एक फ़ाइल ऑब्जेक्ट का जिक्र करने वाला सूचक है।

#शामिल
#शामिल
मुख्य प्रवेश बिंदु ( ) {
फ़ाइल * फ़ाइल ;
चार बफर [ 100 ] ;
फ़ाइल = fopen ( 'C_File.txt' , 'आर' ) ;
अगर ( फ़ाइल == शून्य ) {
printf ( 'त्रुटि: फ़ाइल नहीं खोल सका \एन ' ) ;
वापस करना 1 ;
}
int यहाँ गिनती करना = फ़्रेड ( और बफर, आकार ( चार ) , 100 , फ़ाइल ) ;
fclose ( फ़ाइल ) ;
printf ( 'फ़ाइल से पढ़ा गया डेटा है: %s \एन ' , बफर ) ;
printf ( 'पढ़े गए तत्वों की संख्या: %d' , गिनती करना ) ;
fclose ( फ़ाइल ) ;
वापस करना 0 ;
}

इस उदाहरण में, हम आकार के एक वर्ण सरणी बफर को परिभाषित करते हैं 100 उपयोग करने से पहले fopen () पाठ फ़ाइल खोलने के लिए C_File.txt पठन मोड में। if स्टेटमेंट का उपयोग करके, हम यह निर्धारित करते हैं कि फ़ाइल सफलतापूर्वक खोली गई थी या नहीं। तक पढ़ने के लिए अगला कदम है 100 फ़ाइल का उपयोग कर डेटा के बाइट फ़्रेड () . लक्ष्य बफर, इस उदाहरण में बफर सरणी, पहला पैरामीटर है फ़्रेड ()। दूसरा तर्क, का आकार , पढ़ने के लिए प्रत्येक आइटम का आकार निर्धारित करता है जैसा कि हम वर्णों में पढ़ रहे हैं . तीसरा इनपुट पढ़ने की मात्रा है, जो इस मामले में है 100 . फ़ाइल सूचक चौथा पैरामीटर है। अंत में, हम उपयोग करते हैं प्रिंटफ () फ़ाइल से पढ़े गए डेटा को प्रिंट करने के लिए और fclose () फाइल को बंद करने के लिए। इस कार्यक्रम को चलाने से परिणाम इस तरह होंगे, यदि C_File.txt :

उत्पादन

विधि 2: fgets () फ़ंक्शन

सी भाषा fgets () विधि धारा से n वर्णों को स्ट्रिंग str में पढ़ती है। fgets () विधि धारा से वर्णों को तब तक पढ़ना जारी रखती है जब तक कि (एन-1) अक्षर पढ़े जा चुके हैं, एक नई पंक्ति का पता चला है, या फ़ाइल का अंत (EOF) हो गया है।

#शामिल
मुख्य प्रवेश बिंदु ( ) {
फ़ाइल * फ़ाइल ;
चार बफर [ 100 ] ;
फ़ाइल = fopen ( 'C_File.txt' , 'आर' ) ;
अगर ( फ़ाइल == शून्य ) {
printf ( 'त्रुटि: फ़ाइल नहीं खोल सका \एन ' ) ;
वापस करना 1 ;
}
जबकि ( fgets ( बफर, 100 , फ़ाइल ) ) {
printf ( 'स्ट्रिंग फ़ाइल से पढ़ी गई: %s' , बफर ) ;
}
fclose ( फ़ाइल ) ;
वापस करना 0 ;
}

यह उदाहरण उपयोग करता है fopen () नामक टेक्स्ट फ़ाइल खोलने के लिए C_File.txt आकार के वर्ण सरणी बफर को पहले घोषित करने के बाद रीड मोड में 100 . if स्टेटमेंट का उपयोग करके, हम यह निर्धारित करते हैं कि फ़ाइल सफलतापूर्वक खोली गई थी या नहीं। उसके बाद, हम थोड़ी देर के लूप का उपयोग करते हैं और fgets () फ़ाइल सूचक का उपयोग करके फ़ाइल से पाठ की पंक्तियों को पढ़ने के लिए। का उपयोग करते हुए प्रिंटफ () लूप के भीतर, हम टेक्स्ट की प्रत्येक पंक्ति को प्रिंट करते हैं। इस प्रोग्राम को चलाने से आउटपुट मिलेगा:

उत्पादन

विधि 3: fscanf() फ़ंक्शन

एक मानक पुस्तकालय विधि कहा जाता है fscanf() मापदंडों की एक सरणी को स्वीकार करता है और उन्हें आपके आवेदन द्वारा उपयोग किए जा सकने वाले मूल्यों में बदल देता है। जबकि फ़ाइल से पढ़ना , यह किसी भी चीज़ के स्थान पर प्रारूप स्ट्रिंग को वापस कर देगा, जिसके भीतर यह देखने की आशा करता है। अपने सॉफ़्टवेयर को अपने स्वयं के सिंटैक्स के भाग के रूप में प्रारूप स्ट्रिंग की व्याख्या करने से रोकने के लिए, इसे उद्धरणों में घेरना चाहिए ('')।

#शामिल
मुख्य प्रवेश बिंदु ( ) {
फ़ाइल * फ़ाइल ;
इंट नंबर 1, नंबर 2, नंबर 3;
फ़ाइल = fopen ( 'C_File.txt' , 'आर' ) ;
अगर ( फ़ाइल == शून्य ) {
printf ( 'त्रुटि: फ़ाइल नहीं खोल सका \एन ' ) ;
वापस करना 1 ;
}
fscanf ( फ़ाइल , '%d %d %d' , और नंबर 1, और अंक 2, और संख्या 3 ) ;
printf ( 'संख्याएँ फ़ाइल से पढ़ी जाती हैं:% d,% d,% d \एन ' , अंक 1, अंक 2, अंक 3 ) ;
fclose ( फ़ाइल ) ;
वापस करना 0 ;
}

यह उदाहरण फ़ाइल खोलता है C_File.txt पहले 3 int चर, num1, num2, और num3 घोषित करके रीड मोड में। if स्टेटमेंट का उपयोग करके, हम यह निर्धारित करते हैं कि फ़ाइल सफलतापूर्वक खोली गई थी या नहीं। फ़ाइल का उपयोग करके तीन नंबरों को पढ़ने के लिए निम्न चरण है fscanf() और यह %डी प्रारूप विनिर्देशक। चर num1, num2, और num3 वे हैं जहाँ मान रखे जाते हैं। अंत में, हम उपयोग करते हैं प्रिंटफ () इन चरों के मूल्यों को आउटपुट करने के लिए और fclose () फाइल को बंद करने के लिए। इस कार्यक्रम को चलाने से नीचे दिखाए गए परिणाम सामने आएंगे:

उत्पादन

विधि 4: fgetc() फ़ंक्शन

फाइल हो सकती है पढ़ना वर्ण दर वर्ण का उपयोग करते हुए एफजीईटीसी () समारोह। इस फ़ंक्शन द्वारा पढ़े जाने वाले वर्ण के लिए ASCII कोड इस फ़ंक्शन द्वारा लौटाया जाता है। फ़ाइल सूचक के निर्दिष्ट स्थान से वर्ण वापस आ गया है। फ़ाइल सूचक के अनुसार, चरित्र को पढ़ने के बाद निम्न वर्ण पढ़ा जाता है। यदि सूचक फ़ाइल के अंत में है या कोई समस्या है तो यह विधि एक ईओएफ फ़ाइल लौटाती है।

#शामिल
मुख्य प्रवेश बिंदु ( ) {
फ़ाइल * फ़ाइल ;
चार सी;
फ़ाइल = fopen ( 'C_File.txt' , 'आर' ) ;
अगर ( फ़ाइल == शून्य ) {
printf ( 'त्रुटि: फ़ाइल नहीं खोल सका \एन ' ) ;
वापस करना 1 ;
}
जबकि ( ( सी = fgetc ( फ़ाइल ) ) ! = ईओएफ ) {
printf ( '%सी' , सी ) ;
}
fclose ( फ़ाइल ) ;
वापस करना 0 ;
}

इस उदाहरण में, हम उपयोग करते हैं fopen () पाठ फ़ाइल खोलने की आज्ञा C_File.txt पठन मोड में। if स्टेटमेंट का उपयोग करके, हम यह निर्धारित करते हैं कि फ़ाइल सफलतापूर्वक खोली गई थी या नहीं। उसके बाद, हम थोड़ी देर के लूप का उपयोग करते हैं और एफजीईटीसी () फ़ाइल से वर्ण पढ़ने के लिए। फ़ाइल से प्राप्त वर्ण चर को सौंपा गया है सी प्रिंट करने से पहले लूप के अंदर प्रिंटफ ()। लूप तब तक चलता रहता है जब तक ईओएफ (फ़ाइल का अंत) निरंतर फ़ाइल के अंत का पता लगाता है। इस कार्यक्रम को चलाने से निम्नलिखित परिणाम प्राप्त होंगे, यदि C_File.txt शब्द शामिल है 'लिनक्सिंट'।

उत्पादन

निष्कर्ष

ऊपर उल्लिखित चरणों का उपयोग करके, C का उपयोग किया जा सकता है एक पाठ फ़ाइल पढ़ें और सभी तार प्रिंट करें इसमें है। के प्रयोग से प्रारम्भ होता है fopen () फ़ाइल खोलने के लिए सिस्टम कॉल, उपयोग के बाद fscanf(), fread(), fgets(), एफजीईटीसी () डेटा पढ़ने के लिए। बाद में, फ़ाइल का उपयोग करके बंद कर दिया गया है fclose () और स्ट्रिंग्स को प्रिंट करने के लिए for लूप का उपयोग किया जाता है। इन तकनीकों को नियोजित करके, डेटा को कुशल तरीके से पढ़ने और प्रिंट करने में सहायता के लिए C का उपयोग किया जा सकता है।