 C++ मैं, 2 तरी की फिल्स होती एक फिल को बलते है, आद्ट्ट्ब्मिल इस ठ्ट्ट्ट्ब्मिलाए एक टेटा जो होता हो देक्संत के च्च्छ फाभ में, यस यस हैं कि बोड़ पे एंटर करते हो, कुई भी इन्पर्मेशन तो वो तेक्स होता है वो तेक्स में आपके ब्लांक स्पेस आएका अंटर की दबाएंगे, तो नहीं लाईन चवा जाएका कोई लाईन लब भी होगी, कोई शोटी होगी आप प्रोग्राम जो लिकते है, जी एडिट में अ अग तेक्स फाल होगी है, So every program which is.cpp is a text file. Every program which is ending with .txt is generally a text file. आब तेक्स फाल का, करक्तो अविश्टिक क्या है, What is the feature of a text file. तेक्स फाल में कैसी अंप्रूमिशन रहेगी वान लिजे आपने कोई डेता फाल बनाई, जेसे आपको कुस तो भी पच्चीस श्टूडन्त सोडन्त के रोल नंबर्स दी हैं उसका आपको देटा बनाना आप अप अप एंटर भी कर सकते हो अपने प्रोग्राम लिखा कि पेले एन पडो रीड एल ये प्रोग्राम को लिखा है समवन में आरा है आप कु ये एक मेंन आप कोनाव रोल हो थोŠ लेगे टेदर ये समवन देटा को ढ़ाश तो प्रोग्राम डेटा हो बगत होगे अप देटा कर वो आप नबर देटा के रोल रीण के रोल नंबर लान को डेटा के अप ऐसंगसं को पता हिये किसे देटा फीर करोंगे हप, हप गफ की वोड़ के ताएप कर रहें तो समथ से पहले क्या ताएप करोंगे? रोल नाम्मबर, येन. तो येन तो नी ताएप करोंगे हप, उसकी कुई बयद़जोद होगे इसे ब्रड़ासी घेगे क्याम र frequently, you gave as value with 6 उसके बादा से आपर likes the answer वो चे चली आब ये पडरा है, I equals to 0 for उसे उने वल थी बचलत उब आपर जोल आब डर कर उपन तो वो प्रजा है, रोल से उने खब उपन 1015 और उसको मान लिजे नमबर मिलेने 43 तो आप पुई एक या दो बलन्त आलके आप जे ताइप कर देंगे तो रोल नमबरो माक्स चलेगे फिर आगलार स्कून कर रोल नमबर 1016 से 47 1017 से 52 1019 से 38 1020 1020 52 1021 61 कित्ते होगे 1, 2, 3, 4, 5, 6 तीखे या आप ताइप करेंगे तो डेटा पड़िया जाएगा अब इसके बाद ये डेटा पड़के अपका प्रोगराम कुईजे नालिसिस करेगा मान लिजे अवरेज निकाल रहा है अफरेज माक्स किते पिलहे गलास को किस थर लिज लिज निकालगे बताएं? दो ब़ोग लिजे माक्स का अफरेज निकालगन रहा है तो रोल नमबर से जबना देना निया भई या करेंगे। पैले संप करेंगे माक्स की और उसको एंजे लेएगे तो जाये रे हमें करनापडेगा, शुरूमे शम एकवल तो जीरो, फिर उसके बाद एक उर लूप बनापडेगा, for i equal to zero, i less than n. i++, उस में क्या लिकें एंँ? everything has been understood. what is wrong in this? what is the problem? marks should float marks should not be float because marks is all my integer let the the judge analyses they are saying that marks should float the real problem is marks is all integer number of students would also be integer it cannot be 16 but the average can be floating point तो हमार दिखत यह है कि इस में से सम न्टीजर है एन न्टीजर है लेकिन अवरेज जो है वो न्टीजर होना जरुरी नी तीगे से मान लिजे एक सो सत्रा माख्सनाई तोतल और दस चुटन्स है तो उसका अवरेज अपका बने का 11.7 तीऊन रूल क्या है, अवरेज गास्भाई यह प्रटीजर होगा, तो अवरेज जाब खन्वुध होगा इसी को मैं यस तरे से भी लिख सेथा हूँ, ये भी तीख है तो के 2 अप्रान में से कोई एक फलोट होगा तो तुछरा थी प्लूस पूस अपने अप कनवल कर देगा ये भी सभी है इसको में और एक तरी के सभी लिख सकता हूं अप देखे मैं मैं ख्या चालुगी रिकरी आं मैंने जबर्दस्ती सम को 1.0 से मुल्टिप्लाई कर दिया। अगर खाली वन से मुल्टिप्लाई करता तो कुछ फराग नी परता। वो भी इंटीजर ये भी इंटीजर रिजात इंटीजर हो जाता। लेकिन ये आप फलोटिंग पोईंट है तो C++ क्या करेगा? पहले दिवीजन आंडल करेगा दिवीजन में क्या लिका है? सम्दिवाईड़ बाई आन सम्दिजर आन अंटीजर तो एक सो सत्टरा बता दस को 11 करदेगा और फिर 11 को फलोटिंग पोईंट में कनवर्ट करके 1.0 से मुल्टिप्लाई करेगा अप ये सोचे के अप इतना सब सोचे बगर काली ये लिग दिया तो आपकी साली महनत बेकार करेगा या अपका अवरेज करेग नी आगा इसली एक सप्ट्रेष्याल लिक्ते ताइम ये ख्याल रखना जरुर या तो रिवेबवेड़ अप टेटा है बन ना बने अपता लोग कर आपकोग लिए तो आपकोग डेटा ना पड़ेगा अप ये डेटा पिससथरे की बोड़ पे ठाइप खरेग. अब मान लिखा है अपने असा प्रोग्राम लिखा ये चार बार रन करना बड़ा, तो चार बार आप एक सो साथ लोग के रोल नमबर वो मागस देंगी। और मान लिजे स्यास वना वन कोर सुवा, पास सो स्तूर्न्स हो जाएं। ये पुरा का पुरा डेटा जो है, एक फायल में आप जीएटिट कर के फायल बना लोग। और वो फायल बना के आप अप अपने प्रोग्राम को बोलोग, बही ये फायल से डेटा परते जाए। वो कैसे करेंगे, हमने देखात आप को याध है, रीडिरेक्षन, इनपुट रीडिरेक्षन, कैसे क्या जाता है वो, मान लिजे एप रोग्राम है, C++, Average.CPP. इसके बाज जो खमपाल हो जाएगा, तो आप यहां बोलते है, याधे, उसके बाज अगर आप लेख दिंगे less than mark.txt, अव ये mark.txt क्या है, तो आपने पहले से बना रखी एक फायल, और उस फायल में ये सब आपने ताएप क्या होगा, इसको हम बोल देते है, mark.txt, और ये जो फायल हूई ये तेक्स फायल के लाती, तेक्स तायल में, हर लैंके लेंक सेम नहीं है, ये चोटी लैंने, इसमें एकी नमबर, ये बडी लैंने असमें, तो नमबर, किसी को सो माक्स मिले, तो 1 0 इसको, यह आपने सो लिखें के, तो 1 0 0 होजाएगा, तो ये एक करेक्टर बर जाएगा, ये नहीं, हर लैंके लेंक तालगल अगे एस में, और हर लेंक में इसी ब्लांक है, मान दी जी, अपने 4 ब्लांक छोडी, ये एक ब्लांक छोडा, तो भी देटा तो करेक रहेगा, तो तेक्स फायल प्रोसेस करने के लिए, हमेंशा, C in, C out, यह स्काने प्रिन्तेफ के फंशन गा सहारा लिया जाचाथा, के तेक्स था पडो, उस तेक्स को नमवर में कनवोल्ट कर के अंदर लें, मान लिजी ए, यसी शी प्रोग़ाँ में, आपको एक और चिज पनना है, तो थो बागवा रीटा को पना है जुदन्स के आँन, और रहा है। अगलक डेटा दियावा है। मेरे पास इत्ते शुझन्स है। और उत्ने यह आँन आम है। उस देटा एक अलक फाँल में ताएब कियावा है। य plötzlich और विखतार, IDs, आपते न assignments विभात eyeball salary अप तो चीют कि की ना prescription कि बगसा ज़ा सी at तो थी कुगा था है कुए पहाशकस् respecto टी कुगा ये अगए पहशा से c++ भी लगा connector अरे जरुरी यह यह की री डईट्रेक्ष्यन के वक जैसे अपने फायल कर नाम यह तेया दीा था वेसे 3-4-5 जिने भी फायल सब को युज करना हैं उनके नाम कही तो भी आप प्रोगया में लिखें अब कुर सी अग्धष़ कुन्द्ठा है कब ख्री दे गगािती क्या प्राँईस में क्या ख्री रेडि ख्स रही गगाएच आपको स्तूधन्स का देता लगेगा रोल नमबर, नेम विस्तेल नमबर सम्थिग अपको staff का data लगेगा, employee code, name, address अपको एक issue का data लगेगा, किस को, कुन्सी book, किस तारी को issue ही अब ये कुए आप एक ही जगे तो नहीं रखेंगे अलग अलग फिलो में रखेंगे उन सब फिलो में से data अपको पन्ना बड़ेगा अपके program अर उसको हंडल करना पड़ेगा तो इसके लिए जिस तरे से हम आपको अपको अंडल करते है, नोरमली हम लोग सी इन और सी अब श्टेटमें लिकते है, उस से काम नहीं चलता, जब भी बड़े प्रोजेक्स करना रहते है, आपकी बड़ा ड़ेटा बड़ेटा करना रहता है, तो अमें ज़ादा फाएज गी जरूट पाठ, वो फाएज के बारे में ये जो डेटा है, ये जो प्रोगरम लिखाए ये इस तरे से नहीं लिखाजागा, किस तरे से लिखाजागा जागा, तो इसके लिए हम टेक्स पाल पहले देक्तें, तेजा हो. आमें दो फाँलों के नाम लिए तो माख्स डोट टेक्स दे, दूस्रा लिखा मैंने, नेम्स डोट टेक्स थे, यहने अस में श्टूडन के रोल नमबर रों नाम लिखें. यह दोनो फाँले आप एदिट कर के रग दिसक में जी एदिट से फाँल बनाएंगे, दूस्री फाँल किस तरे से बनेगे आप बता सकते हैं, नेम्डोड टेक्स टी, यह नेम्डोड टेक्स टी को मास्टर फाँल बोला जाता है. किसी भी देटा जितना भी आप को सिस्टीम में होगा, उस में से कुछ देटा जो रहता है, वो मास्टर देटा बोला जाता है, किंकी उसके अनुसार बाखे डेटा दिखाईन होता है. अप जेसे एकसाम देने के लेग कोई स्टूड डाया तो उसको मास्टर मेंगे, लिकिन वो स्टॉडन्ट रोल पे तो होना चे अच्टीटूड के, कोई भी आचे नी बेट सक्टा एकसाम में, तो यह से किनने स्टूडन्ट से है, यह से किनने स्टूडन्ट से है, उनकी जो लिस रेगी उसको बोलेंगे मास्टर लेग, हो सकता है, उन में से कुछ लोग एकसाम ना आया हो, लेगिन कभी ने कभी वो एकसाम देंगे, उनको माखस मिलेंगे, तो यह जो मास्टर डेटा जेए, यह देटा में आर्टीफीशल लिखाता, इस में 1 0 1 1 1 0 1 2 के नामी नी है, इस का मेंतलब यह लोग एकसाम में नी वेट है, लेगिन इस लिस में सब के नाम होंगे, और जैसे आपके सब के नाम, आपके सब के नाम आपके है, अब जब रजीस्टेशन करते हो, तो अपके रोल नमबर के अगे नाम आचादग, हो सकता किसी समिस्टर में किसी ने रजीस्टर नी, किया फिर भी उसका नाम रहेगा मास्टर लेजी, तो यह ने यह जो फाँल हुए यह आपके नाम पाँल हो यह इस में आगर किसीका रोल नमबर नहीं तो उसको एख्जाम में रह माच्ट नीं फिर वो लगी यह दुद नहीं PF तोगल आप गड़िसा एगर कोई रोल नमबऱ रहाने थाईप हो गया। जो यह नहीं नहीं है Production प्रोगाम में प्रते समें के भी ये रोल नम्मर नहीं हो नाचेत अभी हम फिलाल दिसकस कर रहे हैं, क्ये तो तो फाले है, तो तो तो फालों से डेटा कैसे पड़ेगा तो सब से पहले देखने कि इन फालों को, C++ जो है, वो दिस्प में कैसे रखता है एं आए तो दो पाले है, ये दीख मेंák दिसक्प रख्तरी स्ट्चर होगा, अपकी हों और भी मैंने अगा होगी, उसके अदर कोई यहाप भनाईगे, स्फ्रूड्डन्ट तिनपर मेशन दि़ेक्टरी सब दि़ेखनली बनाईगे, उसके अंदर अप ये दो फायले लहमें गे जेजिए से प्रोराम फाயल रखतने है, प्रोराम, वं, थोड थी फ्टिप पिपी, प्रोराम फ्टिप lime2, ऱद ख़ाए चिए ये तो पायले ना रहा है। दिसके अंदर जो फाले रहती हैं वो मानडिजे इतनी जगे में दिसक में लिखागा है तो C++ के लिए दिसक में आगर कोई भी फाँल हो तो उसे हमेशा ट्रीट किया जाता है अजे सेक्वेंस अप बाइट्स बाइट मालो में आपको एक बाइट में एक करेक्टर आता है तो चली ये देकते हैं ये माक्स डोट टीएख्टी फाँल है इस में क्या बाइट्स रहेंगे सब से पहले मान लिए यहां से अगर सुरो अगर फाँल तो सब से पहले कुन्षी बाइट रहेगी बाब बाब शोग इसकी कोड रहेगा वेर उस के बागड वेर भीखात वाद खेबचा खेभगे और करेक्टर वो सी, फीखाड को बागड वाड खेफगे पीखात है में अब भाब खान करेख्टर रहे है तो यह नहोंगी ताने यह तहाने धाप Bark let's count. अजा जाड कहीह कि म collaborating. मैं कुह जे करतः कच्थारी तो तरी मूinguém. मैं वीखरी गदा कच्थांगन के है? और इंताना कहउटा कontaना है. अरे हम नी जा एसा लिखार, उसके बाद आगा वान, जीरो, वान, सेक्स, और इस तरी के से ये खारेक्तर एक के बाद एक आते चे लिएग, जब आप रीडारेक बोलते फायल को, तो सी प्लुस प्लुस क्या करता है, इस फायल को अपन करता है, माग्स डोट टेक्स को, और ए को, मग्स तो सी गी बाद रीडार आसी से़ि बाद रीडारे सेसे फायल को, आप लिएग को, आप और प्लिएडार वेडार है, जो ढ़े से लोग, थो मग्स को � ry और लूग में पहले जो इस्ट्रक्षने पड़ो आप या पर नहीं आप, रोल जीरो और माग जीरो तो ये पड़ेगा, ये पड़ेगा, ये पड़ेगा, बैख्सलाषेन तक पड़ेगा और फिर बोलेगा आप पहले इस में जो वल्ग यो रोल जीरो है तो उसको खाली काट फिल नेम बोलोगे तो तरमिनल पे पुरे सिबबस दिएग जाएंगे वो प्रिन्टेबल करेक्तस होते, नूलाईं करेक्तर, स्पेस करेक्तर सब रहते अब इस फिल को दिफाईं कैसे किया जाएं? ये तो आप समच गया कि तो फिल होती अप्रेटिंग सिस्ट्रिम के लिये, सिक्वेंस अब बाइट्स है अब फिल के क्या क्या प्रोपर्टिस होगे, एक फिल कर नाम होता है, ये नाम क्या है यांपर? या यांपर इस नाम को हमेशा एक स्ट्रिंग कर के लिकते है, मागजवाट्ते उसके बाद उसका साईज रहता है, साईज क्या होगा? उस तोटल फिल में कित्टी बाइट्स है, कित्टी बाइटस है, उस कैसे पता चलेगा? अपको पता चलना मुष्किल है, लेकिन आप अब आप आर एलेस माइना सेल कमाएन देते है, अप्रेटिंग सिस्टिम को, जो लिस देता है फाइल के नामों की, उसके साज्चा तोड़ साईज भी पताता है, अचते बाइटस है, उसे अप अप्रेटिंग सिस्टिम से पता कर से, प्रोग्राम के अंदर के से पता करेंगे, वो हम बाद में देखेंगे, उस में फीचर है, लेकिन एक साईज होता है, विछिस नमबर अप बाइटस, ये ये सिंपल है नमबर का, ये फाएल देखे सिक्वेंस अब बाइट से आखरी तक चली जारी है, जब आपके एक सो साथ लोग का डेटा कही तो भी खतम हो जाएगा, तो मान लीजे ए वो फाएल एसे चलती आगागी नहां तक अगे, आखरी में क्या हो जाएगा? उसके लास्थ करेक्तर कै रहेगा अबका थो ऐंटर क्या होगा, आप ज़ेगे लास्चलाएँ के बाद में, तो नूलाहिं करेक्तर होगा आकरी क्यरेक्तर, उसके बाग ये बाट ये होगा, क्च नहीं होना जियए फाएल में, अपने 160 भूला हैं अपने 160 लोगा देटा लिए यहाँ अपका प्रोँ्लाम गग्जिथचन्त क्यारता.. चेल मान लिजे कोई आपको मेरा आसिस्तरनत आप को डेता देता है एक वही इते रोल नमबर एव माक्स है उसने गिनके नी हखे किते स्वन्त से जिते बि स्वन्त ने एकसाम दी उंके रोल नमबर उवा माक्स लिग दी हो जा तो अप तो दो चीज कर सकते हो अप भी� now phones offer most types. अ। ब नफ़़ लिकोई नहीं. गए अबれ comes the answer, तब क्या हूँखा? इस फाँद्टा से अभी याध भी अगने की को soup app. यह जो में दियो, ऐभ नफर दीये नहीं दाही, उच्रात 이제, role number mark, role number mark.. Now what this means is, you will not be able to read n. आपको आपको ये पता चलना जीए कि बहीं में परतो रहा हूं लेकिन परते परते अगर में यहां पूँँज गया तो किसी तरे से वो फाँल मुझा बतादे कि बहीं में डेडा करदम होगया गर जाओप और वो देक्चन मैं देख्चन है के तो अगाख से प्रोग्राम में कोई स्थेट्मेंट होना चीए तो पता करेगा कि थी प्फाँल बन दोगी करदम हो गया इस के लिए सी पलस पलछ जोगहें देख्च में बैश्था है ऄु� وI++ पल में याः च्कि decide. तक उाई ओर साम अज रोग़्� att, पां को और तेखाॉ सहा पिल याँ प्रते।. � princess, ॐ 누가 java stipde, क्स्भनण कर्टечь शूस्�コ असी मोख तरoonsजे कि ध खीच थत्झि साए. तुओ आप परच्क насколько ताद of tabu andaya fech agare paach. यक शस्पेश्थ शिम्बल जनरेत हो जाता है उसको बोलते हैं e of e of यहने क्या अप आर्ठ, आर्ठ खर्द होगी अप आर्ठ कर्तम होगी तो ये तेश्ट करने के लिए एक सटेपन्ट होना ज़रूरी हैः आप के प्रोगरम तो किसी भी फ्यल प्रोसेसिंके लिए, तेक्स फ्यल प्रोसेसिंके लिए, क्या जानना जारूरी आपके पासे? आपको फ्यल का नाम आलो होना जीए? साईज आपको पता होना जारूरी नहीं. लेकिन आपको फ्यल, you should be able to open the file, you should be able to read data from अर, राइत, लेटा, तो, तव्फिल, you should also be able to open the file with अपको प्यल अबचाग जीः अपको, पुडन और मुझे है और पुडन आगगा। तुस्रा प्झल पडना आना ची है अपको, करक्टस पडना आना चीये प्रंग्राम में आपको थस्थ होगा बूग आप पर्दे पर्दे अपको देस्त होगी पुच तो बी पुँश्ड़िटी जाएगे के कोछी खब कहोगी खब पादे यह थूप मगत लग है.. अखर आपको और पहना Casis the statement यह जाएगे मानगलीची है.. mytext.txt, my marks.txt असा कोई अक स्टेट्मेंट तो आप फाईल अपन होगे अपनी फिर आपको आपको आपको स्टेट्मेंट दिया कि भाई see-in बोलने की जगे आप आसा लिके read from this file read from this file आसा अगर अपने लिखना अगर कोई सुझदा हो आपको घीस्टरा फैस्टलिट आपको ये चिया कि read from this प्टल करते करते देटा कथम होगया आपको की आपटिट आपको प्टल जाए थी। तीन चीज आपको अप प्टल जाए सगते। आपको आप एट दो चीजे चेँज करेगे येजो see-in असीट्ट्में  patiently in or see out statement that is for standard input file or standard output file if you want to handle a different file you can define a new variable that is a variable of file type that is called File pointer File pointer first we see how to open a file as you declare the innt and float this आप देखलर करेंगे फाल स्टर यप मी्टस अंने एक पायल आपने नाम देगे आ यी मेंने लिकेगे तो ये प्रोगलम नी चलेगा हम यी सप्रोगलम जैसे फ्यालर प्रोगलम लिखन ना चाहतचाहे finances में हम फाल को इस्ब्रसिण्ट्रे दिफाएन गे अपको जित्ती भी फड्यां करनी है प्रुग्राम में, उसमेंचे रहे खेलिए आपको आपको साथे लेग नाम देना बड़ेक, इंटरनल नें. After this to open this file a function appears. Its called this new statement that we have not seen . So these are both the things we did with these 2 statements. अव उप्ट्टिएँ आप यह जाएँ को वि तो ठारेगा गे थी है पिट्टिएँ तो बना कान समिल आस्ध रच में. अब यी थन क्यो आपन आपने कूष्न्तिम को स्तिक रोर requires तो अपने मुझए लिए आनी बा केarm यी इему अपने सिस्त्तिम को पताने एंने कािआlocksевич्या या नामनोम नामener अस ससोने rehears?Йातली ढोpound अससरखgangen बअनुब �ysamps है परनोदा हम पहांु एक लग महुता। की करही ह scenario बबताये मुखे ठाया� साथि बहुता labh Amuुऎ कना atl त मेन की जे फिल मैं कि लोग ढीखल minimumón वी शуйबों आस्साूखने नी भी देरा using अब अपलेडिंग सिस्टिम क्या करींग? पहले बार जो अपनी ये स्टेट्में दियाता तो उसने क्या क्या होगा? उसने जाके दुन्डा होगा, अब ये मागज लोट तीएक्स्टी फाईल है अपके डिलेक्तरी में, अपके अपन करेगे वहाँपी अपी कुष है नहीं, तो वो फाईल तो केसी होगी खाली है, अपके वहाँपी कुष भी नहीं। लेकिन जब आप डेटा लिखते जाएंगे, तो आपके आपके पूष होता चवाज, तो जितना आप डेटा लिखेंगे, जितनी भाईष लिखेंगे, उतनी भाईष उस में चलतिगा. तो ये राइटिंके लेग भी आप इस तरेजे फाईल कुष है। और ये कुई जरूडी नहीं कि आप दोई फाईज खुल, अप आप यहाप, तो बोड़ डेटा प डेटा पडोड, आप यहाप अप आप रिखुब है। अप आप रिख तरेजाप बगते खुँबुर अप च्यार अदूड, अप यहाप कफे वे पन्झेडूड क़ार, f open f in two names.text are two files now you have to do that what you were giving in the c in statement instead of that you have to choose a statement in which you can say the name of the file whether you read the data or not read it from this file read this data from this file or that data from this file okay now what is the other method of reading the data now what is the other method you remember what we discussed there is a function printf and scanf scanf function let us write it in scanf how will we write it go back to that program how will we write it in scanf tell me percent d then a blank percent d string is over it will read the roll number of marks here is the file scanf I will enter the data on the keyboard there is no name of the file in scanf scan formatted scan this means there are two things in it are you going to close the line you will not say end of line anywhere is it necessary to give backslash end or you will read your scanf to end of line I will leave this question you should read it in the book try it in the lab and answer this question is it necessary to write backslash end in scanf or not scanf function will read one full line and give me two elements from it but scanf is read from keyboard input see out statement see out statement how will you write printf how will you write tell me printf dictate what is printf first formatted string will be there average equal to average equal to then you will give a blank then after that percentage d will not work you will have to give f or g because floating point value is there after that in output if you want to go ahead then you will give backslash end and printf will be there what do you want to printf AVG is this understood how you will do that and then you can say return 0 and end so this is our normal program now we come to our program we have written this program so what will we do in this first of all we will keep the end of file in advance how to read the end of file we do not know but we have opened the file and we keep this part here we have given n whatever is written this is also data so obviously this statement will not work we will have to write scanf what will we write here we have to read the value of n percentage need double code then percentage d comma it has gone wrong program will not work see in scanf statement whenever you read the data then you want whatever you have sent the value will come back this n parameter you have sent is function if you send any parameter in function then its value will change when its value will change if you send its pointer then you cannot write n you have to write and n and n means the location of n take the address of scanf near scanf then value will come back in that location why we have not written here because it is an array element so array element takes that address but we can write and here if we want we have to write here in scanf function now you have opened this file now you want to modify this program but you want to write in program that my data I will not read it from keyboard I will not do input redirection I want that file open here I want to read the data from that file and the easiest way to read the text file is that the scanf function is written instead of that take scanf so I will comment this here and instead of this I will write a new function f scanf see it is like scanf function if you say scanf read the data from keyboard and if you say f scanf I will tell you the syntax of one statement will remain the same only I will have to add the file name and that will be the first parameter so where the string is written I will have to write the file name do we write the file name we write marks dot text see you need to know this marks dot text is the name of the operating system in the program what is the name of that file f in you can give anything as you define the variable name you can define the file pointer but if you have given the name f in you will have to write f here after that this is the first parameter all other parameters will remain the same this is the statement f scanf f in operating system will think you are not doing scanf you want to read from the file see this file it will know that you have opened it who was associated with it marks dot text so the data in marks dot text will start reading from here so the first character and the second character will read all the characters from here it will come here in the beginning its internal pointer after reading so much it will come here as you type on the keyboard after that the next character position on that character position in operating system the file index will go ahead you need to do something as much as you have read the same character will come ahead your index after that you have made a loop for i equal to 0 i less than n i plus plus what you wanted to read here scanf this now instead of scanf what will you write you can tell me what will I write f scanf then f in double quote percent d a blank percent d double quote comma comma this statement will execute then it will read from f in what was the file this is the mark dot txt file and I have already opened then as much as you have read give me the character in front of it and it will give the next line it will read it and put the data and this pointer it will go here pointer index all this will happen when you have read n then the file will come here but you are not reading ahead the program has gone well now the output in this program we are writing on terminal we had said c out what will we write instead of c out or what should we write instead of printf let's comment it here so this statement has been added now we will write here f printf what will we write in this f out we have to write in different file we can't write in f in f in was opened for read we will write f out after that we will repeat this whole okay see how simple it is only you have opened a file and it will read from f to f to write you have opened the output file and here you have written w and it will write you will have to do something of cleanliness what should be the work of cleanliness you have opened this file you have to close it your responsibility so as f is an open statement after doing all this you will write here f close print semicolon f close f o semicolon in marathi it is called mandavparat if you are married then you will see for marriage you have brought big pitares you have taken out sari you have served food you have done all this you have got married you have got divorced will you do the rest will you close the file if you have opened files if you have read then you should close the file if you don't close then you won't understand operating system so this is f close statement this is the exact point of f open open the pitares take out the data close it and it will not disappear it will not disappear but when you close then the operating system will keep it here if you have opened it then you can read it from the beginning the same way the output file will be written in a sequence of 22 what will be written in that output file which we have named myoutput.txt this is myoutput.txt it will be the new file in your directory average equal to whatever 43.8 whatever it is there will be only one line nothing else will remain but you can think how many lines you could have written basically you understood how to open the text file how to read the data and how to close it okay now two more things I will just initiate when I gave you the sheet you have to read it again this file is a text file in this how to open the file how to read the data how to close it how to open the output file how to write the data how to close it and you can see it is very simple there is no difference now you have to read the data from both the files so what will you do define another file f in one then you can say open f in one give it a name names.txt and read it in the same way you have already written 500 people you just have to read the name after the roll number the name is a character how many characters how many characters you will read so the name you have to read the whole string you have to write the string in an array or you have to define the string type variable and that two-dimensional array will be done because you need 500 students you have to read every name and every name has 10 characters 20 characters, 50 characters and you have to read 500 names so what will be the difference in reading it names.txt and we will write one more square bracket because the array will be read I will leave this work to you on how to read the data from the second file one more thing in today's class we have not understood that if we do not have the value of n then what will we do see till now we have written the statement fscanf it is assuming that the whole data will be read but believe me we have read 160 and you have given the data of 16 people so after doing 16 when it will be 16 I have read till 0,1,2,3,5,15 15 16 you have given the roll number 17 has not been given so what will fscanf do it will become a bomb if you keep writing data from the keyboard then the computer would be sitting if you type then I will give but when you have said read from the file then it is not necessary to keep it sitting if you come here and see then the file has ended if you have not written anything in the program that what to do when the file ends then the program will go mad and the operating system will say error has come while you are reading the file has ended now I do not know what to do so we have not read one more thing if the file has come somewhere then how to handle it we have not read one more thing what we have not read we have assumed that when we say f open then the file will open in what condition the file will not open tell me we have now written the markz.data we have written markz.data there is no file in it we have written markz.data but the file is in some other directory then the file will not open so now we do not know we have come here and said f open so in this way we do some work that on the outside environment we do not know whether the file is open then there should be some error checking for that for that error checking what the operating system does this is a pointer this pointer this is a valid pointer if the file is open if the file is not open then this pointer is null pointer zero value means that pointer will not remain so see this statement f open f open does two things if the file is open and actual pointer associate with f in but if the file does not open then this f in gives zero value and that zero value f open f open function zero value returns so you can say this if f open this this this equal equal null that is pointer zero only then print error message c out error you will see on terminal that the file is not open and return one will go home so you tell me in what condition the output file will not be open input file is done but the output file is necessary I am not taking it out I am not making it so what condition it will not be made think what will not happen yes space will not happen your list is full there is no place in this no place to sleep you will suffer from this if the whole box is full we cannot go inside so you will say open door operating system means guard who will say no door open no space so that way operating system does the same if this f open is not open if it is open then it opens a file and attach valid pointer with fo so whenever you see the pointer then it will be attached but if the file is not open then the value of fo will be zero this is the way to tell you that I am not able to open the file so as you have written if statement here if this is equal equal zero the file is not open many reasons can not be opened one reason you have told that there is no space second reason is you have to read that directory you have read permission but there is no right permission you cannot write that directory because every directory has such permissions read permission, right permission so many times you have only read permission, right permission even if this happens you cannot write so these are different 2-3 things which you have to keep in a professional program you have to write programs for lab some things if you forget to check then it does not matter because till the time your file is not open you will not open it but in a professional program you will write project program so in project program if you are using any file then you will immediately check if it is open or not if it is not open then give error message stop next time Saturday afternoon class in that class we will how to handle EOF and we will see how to handle binary files this file is very important to do information management like your data roll number marks, hostel number, room number this data is not written in text form in files this is written in binary file what is advantage in binary file number 1 in that this backslash is not like this records are of fixed length records of 1 student records of 2nd student records of 2nd student records of 2nd student records of 2nd student records of 2nd student records of 2nd student records of 2nd student records of 2nd student records of 2nd student records of 2nd student records of 2nd student records of 2nd student records of 2nd student records of 2nd student records of 2nd student records of 2nd student तो 4 बाइत बाएनरी फाएल में रखे जाएंगे आप अपके माख्स लिखने के लिए और उत नोग में नहीं अप आप उप उसको टेक्स डेटिट से नहीं देख सकतीए तो त्लोटिं पोई नोग में अप अप लिखा जाए. ये सब करने का प्झडा क्या है? तेक्स्फोई थो लिजिहें यह समख करने तो असाथ अजी जब आगर मान लिजे आप की ख्यार प्राईद यह बंडरी ना ओगर आगर आप चाद और उस में आपने लिखा आप की यहांसे यहां तक आपका गर टीवाग किर यहां से यहांतक आपका और than तो इन इसी यहन तक आपका रेकोध भी थो है इसे रेकोड बन रेकोड भी रेकोड भी जैs रेकोड बन यहने किसी भी चीज कि आप पिद्टमउल्गे हो उस छीज के एक रेकोड को किती बाइष लगी अप श्टुडन के अप अप उस्ट्टेल नुम्बर नाम, माग्स, अस्तेल नम्र, रूम नम्र, कुच अर भी अज्चन जो भी लिखना है. मान लिखने एक उसकर जो लेकाल अपने स्ट्ट्चा दिफाइन क्या उसकि साई जाती है, 64 bytes, तो ये 64 bytes यहां से आंचे लिखने के. फिर तुस्रे स्तून कर 64 bytes यहां से आंचे रे, तो सी पलस पलस आपको परमिट करता है, कि आप देरेक्तली वहां पैजाखे यह रेकोर पड़ें. देखे किती सुईदावुग, पाच लाक स्तून्स के रेकोर है, आपको किसी एक स्तून्स के रेकोर चीए, आपको मालुमे कि वह रेकोर काहां, लेकिन आप अपको अपको आपको रेकोर परते रेंगा। उमान लिए वो 2,5,125 वह है, तो आपको 2,5,124 रेकोर परने बड़ेंगे, उसके बाड आप उस रेकोर तक पोचुए. लेकिन अगर अआपने बाइनरी फाडी डिकलेर करी है, और फाडील में रेकोर का साएस पिकस किया है, तो आप पी प्लुस प्लुस में बोल सकते है, टिरेक लिए तो लाक जो प्फी वी वह फी वह ड़ीए चाए साझार एक सो चोभी श्वार रेकोर वह पे जाए, आप ना के download. अे, जो ये decía, योafex movement वसु from the index movement वसु those च् tone आप दर � घर वकτού zittenछ चाक? अब Emergency Under तिर वो पुजिशन बताने के बाद, हम ये कैसे बताए कि में यहां से एक सट भाईट पड़ो और ये भाईट पड़के ये स्टक्चर में लाएड़ो. समजग याब, जो आप हम यहां करना है वही करना है, लेकिन हम ये करना चाते है, कि स्कानेफ प्रिंटेप नहीं लिखना चाते है, हम लिखना चाते है, कि हम जो बताएगी उज़गे पे जाओ, वहां से दोसो पच्चीज भाईष पड़के हमें यहां देद. अवो दोसो पच्चीज भाईट को इंट्रपीट कैसे करना है, हमारा काम है, आपको उस में दखल देने की जोर्रत. ये कब समब होगा, जब आपने लिकते समझ वो फाईल को उसतरे के से लिखा होगा. साथ-साथ-साथ बाईट के रेकोष लिखे होंगे. ये बाईनरी फाईल का सब से बड़ी बड़ा एडवान्टे जो है, जो आप प प्रोजेक करना चाते हैं, कुछ प्रोजेक जो आपके फाईट सिस्टिम से समवन दिते हैं, जैसे एईंट्री एकजिट वाला काम करना चाते हैं, और मान लिजे एसे पाईट लोंके नमबर चेंच करनें, मान लोग गलती से किसी और रोल नमबर का नाम चेंच कर दिया, माखष चेंच कर दिया थो, यहने एडिट कर के चेंच करने में बड़े देंजनस चीच हैं, बड़ा जो देटा रहता है, उसको एसे कोई मैंनूली एडिट कर के चेंच नहीं करता हैं, इसी किलिए प्रोग्राम लिखे जातें, और इसी किलिए ये ज़रूरी है कि जो मेरी फाईट हो, तो इतनी बड़िया औरगनाइस हो, तो मैं अपने आप उसकी को बताओग़ग, बही ये, 1019 रोल नमबर है, ये मेरे ही साब से, एक हैजार डोसो वाली जगे पे हैं, एक हैजार डोसो वाली जगे पे चले जाएं, मेरे हर लेकार साडबाइट का है, ज़ने किस पोईशन पे जाएंगा में, एक हैजार 1119 बुना साज, कोगी शुरूका लेकोट तो 0 यह तो उगे तो लेकोट रें, उत्ति बाइट पे चले जाएं।, तो अपना बराओबर पोईटर लेके मापे चलाजा हैं, फिर उसको बोलेंगे यान से 60 बाइट पडो, मुजे देदू, वो साड़बाइट पड़के आप उसको आलग हिज्जेपूरजे आपके वेरिएबल में आजाएंगे, रोल नमबर ने माख्स, फिर आप उसको दिस्पले करावागे की यह उसको रोल नमबर, उसके बाद आपके मिमरी स्टक्चर में जो माख्स है, उसमें आप उसको 36 लिख होगे, और फिर वो वो पुला का पुला रेकोड है, उसी जगेगे पे, वो कम्तूर को बोलोगे उसी जगेगे पे जाएंगे लिखे, तो दिरेक्त्ली उस फिल में उस जगेगे पे उतने साथबाएट फिर से लिखे जाएंगे, यह सुविडा आपको अडिनली लिए मिल सकती, यह मिलती है दारेक टेक्सस फिल से भाईदिल, तो आजका कनकलुजन में हम यह कहेंगे, फैम रहे通ग आप देक्स्त फाईल के लिखार लिए लिखे लिया तेक्सफिल है, अमें पता चल गया कि, वियक्रinkuग को नका रहा खेगे, if we use f-scanner for f-printf then we can handle the text files. जदए बलन नारी वह को आप तेक्स आपको, you have to open the file properly and after that you have to close the file stock. The other thing that we discussed but we did not implement that, सुब light ु. ॉ ॉ ॉ ॉ ॉ ॉ ॉ ॉ ॉ ॉ ॉ ॉ