>> अध्यक्ष: अब तक, यह संभावना है अपने कार्यक्रमों की सबसे कि
एक सा अल्पकालिक किया गया है।
आप मारियो या लालची की तरह एक कार्यक्रम चलाते हैं।
ऐसा लगता है कि शायद संकेत देता है, कुछ भी करता है कुछ जानकारी के लिए यूजर
परदे के लिए कुछ उत्पादन के लिए प्रिंट, लेकिन फिर अपने कार्यक्रम, खत्म हो चुका है जब
वहाँ कोई सबूत नहीं है कि वहाँ वास्तव में है यह पहली जगह में चलाया गया था।
मुझे यकीन है कि, तुम छोड़ दिया है हो सकता है, इसका मतलब यह यह टर्मिनल विंडो में खुलेगा
आप अपनी स्क्रीन स्पष्ट है लेकिन, अगर वहाँ है यह अस्तित्व में है कि वास्तव में कोई सबूत नहीं है।
हम संचय के लिए एक साधन नहीं है लगातार जानकारी, सूचना
कि हमारे बाद से मौजूद है कार्यक्रम का प्रदर्शन रोक दिया गया है,
या हम इस बात के लिए नहीं है।
सौभाग्य से, हालांकि, सी करता है क्षमता के साथ हमें प्रदान
को लागू करने से यह करने के लिए कुछ बुलाया
एक फ़ाइल, एक संरचना है कि मूल रूप से आप दोगुना होगा कि एक फ़ाइल का प्रतिनिधित्व
आप कर रहे हैं, तो आपके कंप्यूटर पर क्लिक करें एक ग्राफिकल यूजर पर्यावरण के लिए इस्तेमाल किया।
आम तौर पर जब काम ग के साथ, हम वास्तव में कर रहे हैं
साथ काम करने जा संकेत फ़ाइल files-- को stars--
एक छोटा सा के लिए छोड़कर हम एक जोड़ी के बारे में बात करते हैं
कार्यों की कि फ़ाइल संकेत के साथ काम करते हैं।
तुम सच में खोदा है की जरूरत नहीं है समझ संकेत में भी गहरी
खुद को।
एक छोटे नन्हा सा है हम उनके बारे में बात करेंगे, जहां
लेकिन आम तौर पर संकेत फाइल और संकेत, परस्पर, जबकि
वास्तव में एक ही बात नहीं कर रहे हैं।
>> अब मैं जब क्या मतलब है मैं लगातार डेटा कहते हो?
लगातार डेटा क्या है?
हम इसके बारे में क्यों परवाह करते हैं?
कि, उदाहरण के लिए, कहो आप एक प्रोग्राम चला रहे हैं
या आप फिर से लिखा गया है एक एक खेल है कि कार्यक्रम,
और आप ट्रैक रखना चाहते हैं उपयोगकर्ता की चाल के सभी की
इसलिए कुछ गलत हो जाता है कि हो सकता है अगर, आप खेल के बाद फाइल की समीक्षा कर सकते हैं।
यही कारण है कि जब हम हम क्या मतलब है लगातार डेटा के बारे में बात करते हैं।
>> चलाने का पाठ्यक्रम में अपने कार्यक्रम, एक फाइल बनाई गई है।
और जब अपने कार्यक्रम चलना बंद कर दिया गया है,
उस फ़ाइल को अभी भी अपने सिस्टम पर मौजूद है।
और हम इसे देखो और यह जांच कर सकते हैं।
और इतना है कि कार्यक्रम के लिए स्थापित किया जाएगा कुछ लगातार डेटा बनाया है,
डेटा कार्यक्रम के बाद अस्तित्व चल रहा समाप्त हो गया है।
>> अब काम है कि इन कार्यों के सभी फाइल बनाने और जोड़ तोड़ के साथ
उन्हें विभिन्न तरीकों से मानक io.h में रहते हैं,
जो एक हेडर फाइल है कि आप की संभावना पौंड किया गया है
सुंदर के शीर्ष पर सहित अपने कार्यक्रमों की ज्यादा सभी
इसके बारे में एक होता है क्योंकि हमारे लिए सबसे उपयोगी कार्यों,
भी देता है कि printf, मानक io.h. में रहती है
तो आप शामिल पौंड की जरूरत नहीं है किसी भी अतिरिक्त फ़ाइलों को शायद
आदेश में फ़ाइल संकेत के साथ काम करने के लिए।
>> अब हर एक फ़ाइल सूचक समारोह, या हर एक फ़ाइल मैं / हे, इनपुट आउटपुट
समारोह, एक के रूप में स्वीकार करता है उसके मापदंडों या आदानों की
सिवाय एक फ़ाइल pointer-- एक के लिए, fopen, जो
आप फाइल को पाने के लिए क्या उपयोग है पहली जगह में सूचक।
लेकिन अगर आप खोल दिया है के बाद फाइल और आप फ़ाइल संकेत मिलता है,
तुम तो उन के रूप में पारित कर सकते हैं विभिन्न कार्यों के लिए तर्क
हम इस बारे में बात करने जा रहे हैं आज, साथ ही कई अन्य लोगों के
इतना है कि आप फाइलों के साथ काम कर सकते हैं।
>> इसलिए छह सुंदर देखते हैं आम बुनियादी वाले
हम आज के बारे में बात करने जा रहे हैं।
fopen और उसके साथी समारोह fclose, fgetc
और उसके साथी समारोह fputc, और fread और उसके साथी समारोह,
fwrite।
तो चलो यह सही में मिलता है।
>> fopen-- यह क्या करता है?
खैर, यह एक फ़ाइल को खोलता है और यह यह करने के लिए आप एक फ़ाइल सूचक देता है,
ताकि आप तो यह है कि उपयोग कर सकते हैं एक तर्क के रूप में सूचक दायर
अन्य फाइल आई / ओ कार्यों में से किसी को।
सबसे महत्वपूर्ण बात fopen के साथ याद करने के लिए
आप खोल दिया है कि उसके बाद फाइल या यहां एक तरह एक फोन कर दिया,
आपको यह सुनिश्चित करने के लिए जांच की जरूरत है कि तुम वापस मिल गया है कि सूचक
अशक्त के बराबर नहीं है।
आप वीडियो पर नहीं देखा गया है संकेत दिए गए, यह समझ में नहीं बना सकता है।
लेकिन अगर आप कोशिश करते हैं और भिन्नता है, तो एक शून्य सूचक याद करते हैं,
अपने कार्यक्रम शायद भुगतना होगा एक विभाजन [सुनाई]।
हमें यकीन है कि बनाना चाहते हम एक वैध सूचक वापस मिल गया।
समय के विशाल बहुमत हम करेंगे वापस एक वैध सूचक मिल गया है
और यह एक समस्या नहीं होगी।
>> तो कैसे हम एक कॉल fopen के लिए बनाते हैं?
यह इस तरह से बहुत ज्यादा लग रहा है।
एक सामान्य किया जा रहा ptr ptr-- फ़ाइल स्टार pointer-- fopen फ़ाइल के लिए नाम
और हम दो बातों में एक फ़ाइल नाम पारित और एक ऑपरेशन हम शुरू करना चाहते हैं।
इसलिए हम की तरह लग रहा है कि एक फोन हो सकता है है- फ़ाइल स्टार पीटीआर 1 fopen के बराबर होती है
file1.txt।
और मुझे चुन लिया आपरेशन आर है।
>> तो क्या आप आर यहाँ लगता है?
चीजों की तरह क्या कर रहे हैं हम फाइल करने के लिए ऐसा करने में सक्षम हो सकता है?
तो आर ऑपरेशन है कि हम हम एक फ़ाइल को पढ़ने के लिए चाहते हैं जब चुनें।
इसलिए हम मूल रूप से जब होगा हम इस तरह से एक फोन करना
अपने आप को एक फ़ाइल सूचक हो रही हो हम तो जानकारी पढ़ सकता है कि इस तरह के
file1.txt से।
>> इसी तरह, हम फ़ाइल 2.txt खोल सकता है ptr2 लिखने के लिए और इसलिए हम पारित कर सकते हैं,
मैं यहाँ बनाए गए फ़ाइल सूचक, किसी भी कार्य के लिए एक तर्क के रूप में है कि
एक फाइल करने के लिए जानकारी लिखता है।
और लेखन के समान नहीं है, यह भी विकल्प के लिए एक, संलग्न करने के लिए।
के बीच भिन्नता लेखन और जोड़कर
होने के नाते आप एक फाइल करने के लिए लिख जब कि, यदि आप लेखन के लिए fopen के लिए एक फोन करते हैं तो
और उस फ़ाइल को पहले से ही यह बात है, मौजूद है पूरी फ़ाइल अधिलेखित करने के लिए जा रहा है।
यह शुरू हो रहा है बिलकुल शुरूआत में,
सभी जानकारी को हटाने कि पहले से ही नहीं है।
>> आप जोड़कर लिए इसे खोलने जबकि अगर, यह फाइल के अंत के लिए जाना जाएगा
पहले से ही पाठ है कि अगर वहाँ यह या उस में जानकारी,
और यह तो शुरू कर देंगे वहां से लेखन।
तो आप में से किसी को खोना नहीं होगा आप पहले किया है जानकारी।
आप लिख सकते हैं या संलग्न करना चाहते हैं प्रकार की स्थिति पर निर्भर करता है।
लेकिन आप शायद पता चल जाएगा जब समय आता है सही ऑपरेशन है।
तो यह है कि fopen है।
>> क्या fclose के बारे में?
खैर, बहुत आसानी से, fclose सिर्फ फ़ाइल सूचक स्वीकार करता है।
और आप उम्मीद कर सकते हैं, यह है कि फाइल बंद कर देता है।
हम एक फाइल बंद कर दिया है और एक बार, हम नहीं कर सकते किसी भी अधिक फ़ाइल आई / ओ कार्यों का निष्पादन
पढ़ने या उस फ़ाइल पर, लेखन।
हम फिर से खोलने के लिए है क्रम में एक और समय फाइल
के साथ काम जारी रखने के लिए यह मैं / हे कार्यों का उपयोग कर।
हम कर रहे हैं तो fclose साधन इस फाइल के साथ काम कर रहे हैं।
और हम में पारित करने के लिए सभी की जरूरत है एक फ़ाइल सूचक का नाम है।
एक जोड़ी पहले स्लाइड पर तो, हम पढ़ने के लिए fopened फ़ाइल 1 डॉट पाठ
और हम उस सौंपा ptr1 करने के लिए सूचक फ़ाइल।
अब हम हम कर रहे हैं का फैसला किया है उस फ़ाइल से पढ़ कर।
हम इसके साथ किसी भी अधिक करने की ज़रूरत नहीं है।
हम सिर्फ fclose ptr1 कर सकते हैं।
और इसी तरह, हम कर सकते थे अन्य लोगों को fclose।
ठीक है।
तो यह है कि उद्घाटन और समापन है।
उन दो बुनियादी रहे हैं संचालन शुरू।
>> अब हम वास्तव में करना चाहते हैं कुछ दिलचस्प बातें करते हैं,
और पहला समारोह है कि हम करेंगे कि fgetc-- है कि क्या करेंगे देखना
एक चरित्र मिलता फ़ाइल।
यही कारण है कि आम तौर पर fgetc क्या है अनुवाद करने के लिए होगा।
जीवन में अपने लक्ष्य के लिए है अगले चरित्र पढ़ा,
या यह अपने बहुत है, तो fgetc के लिए पहली कॉल
एक खास फाइल के लिए, पहले चरित्र।
लेकिन फिर उसके बाद, आप अगले एक मिल
उस फ़ाइल के अगले ही चरित्र, एक चरित्र चर में और यह स्टोर।
हम यहाँ किया है के रूप में, चार सीएच, fgetc के बराबर होती है
एक फ़ाइल सूचक के नाम से गुजरती हैं।
फिर, यह बहुत है याद करने के लिए यहाँ महत्वपूर्ण
आदेश में करने के लिए कि इस ऑपरेशन सफल
फ़ाइल सूचक में ही होना चाहिए पढ़ने के लिए खोल दिया गया।
हम एक फ़ाइल से एक चरित्र नहीं पढ़ सकते हैं हम लेखन के लिए खोला गया है कि सूचक।
तो यह है कि में से एक है fopen की सीमाओं, है ना?
हम प्रतिबंधित करने के लिए है खुद ही करने के लिए प्रदर्शन
एक फ़ाइल सूचक के साथ एक ऑपरेशन।
हम पढ़ने के लिए चाहता था और एक ही फाइल से लिखते हैं,
हम खुले दो अलग-अलग होता है एक ही file-- करने के लिए फ़ाइल संकेत
पढ़ने के लिए एक, लेखन के लिए एक।
>> तो फिर, एक ही कारण मैं अब लगता है कि ऊपर लाना
हम एक कॉल करने के लिए जा रहे हैं, क्योंकि fgetc करने के लिए, उस फ़ाइल सूचक होगा
पढ़ने के लिए खोल दिया गया।
और फिर बहुत आसानी से, सब हम क्या करने की जरूरत है
फ़ाइल सूचक के नाम से गुजरती है।
तो चार CH fgetc ptr1 बराबर होती है।
>> यही कारण है कि हमें प्राप्त करने के लिए जा रहा है अगले character--
या फिर यह पहली बार है, तो हम इस फोन बनाया है समय,
की पहली character-- जो कुछ भी फ़ाइल ptr1 द्वारा की ओर इशारा किया है।
उस फ़ाइल को 1 डॉट पाठ था कि स्मरण करो।
यह इस बात का पहला वर्ण मिलेगा और हम चर चर्चा में यह दुकान होगी।
बहुत सीधा।
इसलिए हम केवल तीन पर देखा है कार्य करता है और हम पहले से ही
मस्त कुछ कर सकते हैं।
>> हम इस क्षमता लेते हैं तो एक चरित्र हो रही है की
और हम पाश इसलिए it-- हम पात्रों पाने के लिए जारी
एक फ़ाइल से अधिक है और पर और over-- अब हम
हर एक को पढ़ सकता है एक फ़ाइल के चरित्र।
और हम हर चरित्र प्रिंट हम इसे पढ़ने के तुरंत बाद,
अब हम एक फ़ाइल से पढ़ा है और स्क्रीन के लिए अपनी सामग्री मुद्रित।
हम प्रभावी रूप से श्रेणीबद्ध किया है स्क्रीन पर उस फ़ाइल।
और वह है क्या लिनक्स कमांड बिल्ली करता है।
>> आप फ़ाइल के नाम में बिल्ली लिखते हैं, तो यह सारी सामग्री को बाहर प्रिंट होगा
अपने टर्मिनल विंडो में फ़ाइल की।
और यहाँ तो इस छोटी सी पाश, कोड के केवल तीन लाइनों,
लेकिन इसे प्रभावी ढंग से डुप्लिकेट लिनक्स कमांड बिल्ली।
तो इस वाक्य रचना हो सकता है एक अजीब सा लग
लेकिन यहां क्या हो रहा है।
चर्चा fgetc के बराबर होती है, वहीं पीटीआर नहीं है यह एक पूरी कौर है EOF-- के बराबर है,
लेकिन यह सिर्फ तोड़ने के नीचे इसलिए यह वाक्य रचना पर स्पष्ट है।
मैं इसे समेकित किया है अंतरिक्ष की खातिर,
यह एक छोटा सा है, हालांकि वाक्य रचना से मुश्किल।
>> तो हरी सही में यह हिस्सा अब, यह क्या कर रही है?
वैसे, यह सिर्फ हमारे fgetc कॉल, है ना?
हम पहले कि देखा है।
यह एक प्राप्त है फ़ाइल से चरित्र।
तो फिर हम उस तुलना EOF के खिलाफ चरित्र।
EOF है कि एक विशेष मूल्य है मानक io.h में परिभाषित किया जो
फ़ाइल चरित्र का अंत है।
तो बुनियादी तौर पर ऐसा करने के लिए क्या हो रहा है इस लूप एक चरित्र पढ़ा होगा है,
, EOF के लिए यह तुलना फ़ाइल चरित्र के अंत।
वे मैच नहीं है, इसलिए हम नहीं फ़ाइल के अंत तक पहुँच
हम उस चरित्र का प्रिंट आउट करेंगे।
तो फिर हम करने के लिए वापस जाना होगा फिर पाश की शुरुआत।
हम एक चरित्र मिल जाएगा, जाँच EOF के खिलाफ इतने पर इसे बाहर प्रिंट, और
और आगे और आगे, कि रास्ते में के माध्यम से पाशन
हम फाइल के अंत में पहुँच गए हैं जब तक।
और फिर उस बिंदु से, हम मुद्रित होगा
फ़ाइल की संपूर्ण सामग्री बाहर।
तो फिर, हम केवल देखा है fopen, fclose, और fgetc
और पहले से ही हम नकल कर सकते हैं एक लिनक्स टर्मिनल कमांड।
>> जैसा कि मैंने शुरू में कहा था, हम fgetc और fputc था,
और fputc साथी था fgetc का कार्य करते हैं।
और हां, तो, जैसा कि आप कल्पना कर सकते हैं यह लेखन बराबर है।
यह हमें एक लिखने के लिए अनुमति देता है एक फाइल करने के लिए एक चरित्र।
>> फिर, चेतावनी जा रहा है, बस यह fgetc के साथ था, जैसे फ़ाइल
हम होगा करने के लिए लिख रहे हैं कि कर दिया गया लिखने के लिए या जोड़कर के लिए खोला गया।
हम कोशिश करते हैं और एक फाइल पर fputc का उपयोग करते हैं हम पढ़ने के लिए खोल दिया है कि,
हम पीड़ित के लिए जा रहे हैं एक गलती की एक सा है।
लेकिन कॉल बहुत आसान है।
fputc राजधानी एक ptr2, सभी ऐसा करने के लिए जा रहा है यह है
पत्र लिखने जा रहा एक फ़ाइल में 2 बिंदी में
के नाम था जो पाठ, हम खोला और सौंपा है कि फाइल
सूचक ptr2 करने के लिए।
तो हम एक लिखने जा रहे हैं राजधानी एक 2 डॉट पाठ फ़ाइल के लिए।
और हम एक विस्मयादिबोधक लिख देंगे 3 डॉट फ़ाइल को इंगित
ptr3 द्वारा की ओर इशारा किया गया था, जो पाठ,।
तो फिर, यहाँ बहुत सीधा।
>> लेकिन अब हम एक और बात कर सकते हैं।
हम इस उदाहरण है हम बस पर जा रहे थे
बिल्ली को दोहराने में सक्षम होने के बारे में लिनक्स कमांड, बाहर है कि प्रिंट एक
स्क्रीन करने के लिए।
खैर, अब हम क्षमता है कि फाइलों से पात्रों को पढ़ने के लिए
और, फाइल करने के लिए वर्ण लिखने यही कारण है कि हम सिर्फ इतना है कि विकल्प नहीं है
fputc के लिए एक फोन के साथ printf करने के लिए कहते हैं।
>> और अब हम सी.पी. दोहराया गया है, एक बहुत ही बुनियादी लिनक्स आदेश
हम जिस तरह से लंबे समय के बारे में बात की है कि पहले लिनक्स में वीडियो हासिल है।
हम प्रभावी है सही है कि यहाँ दोहराया।
हम एक चरित्र पढ़ रहे हैं और उसके बाद हम कर रहे हैं एक और फाइल करने के लिए कि चरित्र लेखन।
एक फ़ाइल से पढ़ना, लेखन और अधिक से अधिक एक और, करने के लिए
और फिर से हम EOF मारा जब तक।
हम का अंत करने के लिए मिल गया है दाखिल हम से नकल करने की कोशिश कर रहे हैं।
और कहा कि हम सब लिखा होगा पात्रों में से हम फ़ाइल की जरूरत है
हम करने के लिए लिख रहे हैं कि।
इसलिए इस सी.पी., लिनक्स प्रतिलिपि आदेश है।
>> के बहुत शुरुआत में इस वीडियो में, मैं चेतावनी था
हम एक बात करेंगे कि संकेत के बारे में थोड़ा सा।
हम कर रहे हैं, जहां यहाँ विशेष रूप से है संकेत के बारे में बात करने जा रहा
इसके अलावा में संकेत दायर करने के लिए।
इसलिए इस समारोह डरावना की तरह लग रहा है।
यह कई मापदंडों मिल गया है।
यहाँ पर जा रहा एक बहुत कुछ है।
अलग से एक बहुत कुछ है रंग और ग्रंथों।
लेकिन वास्तव में, यह सिर्फ है fgetc के जेनेरिक संस्करण
कि हमें किसी भी प्राप्त करने की अनुमति देता है जानकारी की राशि।
यह हम कर रहे हैं, तो एक सा अक्षम किया जा सकता है एक समय में पात्रों से एक हो रही है,
फ़ाइल के माध्यम से पुनरावृति एक समय में एक चरित्र।
इसे पाने के लिए अच्छे नहीं हो सकते हैं एक समय में एक बार या 500 पर 100?
>> खैर, fread और उसके साथी समारोह fwrite, हम जिसके बारे में बात करेंगे
एक दूसरे में, हमें सिर्फ इतना है कि क्या करने की अनुमति देते हैं।
हम एक मनमाना राशि पढ़ सकते हैं एक फ़ाइल से जानकारी की
और हम कहीं अस्थायी रूप से यह दुकान।
इसके बजाय सिर्फ करने में सक्षम होने की एक एकल चर में इसे फिट,
हम एक सरणी में यह स्टोर करने के लिए आवश्यकता हो सकती है।
और हां, तो हम चार में पारित तर्क एक सूचक fread-- को
हम कर रहे हैं, जहां पांच को जानकारी स्टोर करने के लिए जा रहा है,
कैसे जानकारी के प्रत्येक इकाई बड़े हो सकता है, जानकारी के कितने इकाइयों
हम हासिल करना चाहते हैं, और से जो फ़ाइल हम उन्हें प्राप्त करना चाहते हैं।
शायद सबसे अच्छा सचित्र यहां एक उदाहरण के साथ।
तो चलो हम घोषणा करते हैं कि हम कहते हैं 10 पूर्णांकों की एक सरणी।
हम बस पर घोषित किया है मनमाने ढंग से हो चुकी आगमन 10 int।
तो यह है कि बहुत सीधा है।
अब क्या हम हालांकि कर रहे है frecall हम int के आकार पढ़ रहे है
कई बार जानकारी के 10 बाइट्स।
पूर्णांक किया जा रहा है के आकार है कि four-- सी में एक पूर्णांक के आकार।
>> तो हम क्या कर रहे हैं हम पढ़ रहे है जानकारी के लायक 40 बाइट्स
फ़ाइल से पीटीआर द्वारा की ओर इशारा किया।
और हम उन भंडारण कर रहे हैं 40 बाइट्स कहीं
हम अलग सेट है जहां स्मृति के लायक 40 बाइट्स।
सौभाग्य से, हम पहले से ही ऐसा कर चुका हूँ उस सरणी, वहीं आगमन की घोषणा।
यही धारण करने में सक्षम है 10 चार बाइट इकाइयों।
कुल में तो, यह 40 पकड़ कर सकते हैं बाइट्स जानकारी के लायक।
और अब हम 40 बाइट्स पढ़ रहे हैं फ़ाइल से जानकारी की,
और हम एआरआर में भंडारण कर रहे हैं।
>> संकेत पर वीडियो से याद है कि इस तरह के आगमन के रूप में एक सरणी के नाम पर,
वास्तव में सिर्फ एक सूचक है अपनी पहली तत्व करने के लिए।
इसलिए हम वहाँ एआरआर में पारित करते हैं, हम एक सूचक में गुजर रहा है, वास्तव में, कर रहे हैं।
>> इसी प्रकार हम है- क्या कर सकते हैं हम जरूरी नहीं है
ढेर पर हमारे बफर बचाने की जरूरत है।
हम यह भी गतिशील आवंटित सकता एक malloc का उपयोग कर, इस तरह बफर।
जब हम, याद रखें गतिशील स्मृति आवंटित,
हम पर यह बचत कर रहे हैं ढेर, नहीं हो चुकी है।
लेकिन यह अभी भी एक बफर है।
>> यह अभी भी इस मामले में है जानकारी के 640 बाइट्स पकड़े
एक डबल आठ बाइट्स तक ले जाता है।
और हम उनमें से 80 के लिए पूछ रहे हैं।
हम अंतरिक्ष के लिए चाहते हैं 80 युगल धारण करने के लिए।
तो 80 गुना 8 640 बाइट्स जानकारी है।
और fread है कि कॉल है जानकारी के 640 बाइट्स का संग्रह
फ़ाइल द्वारा उठाई से ptr और arr2 में अब यह भंडारण।
>> अब हम भी fread इलाज कर सकते हैं सिर्फ fgetc के लिए एक फोन की तरह।
इस मामले में, हम सिर्फ करने के लिए कोशिश कर रहे हैं फ़ाइल से एक चरित्र मिलता है।
और हम एक की जरूरत नहीं सरणी एक चरित्र धारण करने के लिए।
हम बस में स्टोर कर सकते हैं एक चरित्र चर।
>> पकड़ है, हालांकि, वह यह है कि हम सिर्फ एक चर है जब,
हम में पारित करने की जरूरत कि चर का पता
याद है कि क्योंकि fread को पहला तर्क
स्थान और स्मृति के लिए एक संकेत है हम जानकारी स्टोर करने के लिए चाहते हैं।
फिर, एक के नाम सरणी एक सूचक है।
इसलिए हम एम्परसेंड सरणी क्या करने की जरूरत नहीं है।
लेकिन सी, चरित्र ग यहाँ, एक सरणी नहीं है।
यह सिर्फ एक चर है।
और इसलिए हम एक पारित करने की जरूरत एम्परसेंड ग इंगित करने के लिए
कि हम चाहते हैं, जहां पता है कि सूचना के इस एक बाइट स्टोर करने के लिए,
इस एक चरित्र है कि हम पीटीआर से एकत्रित कर रहे हैं।
मैं माध्यम से जाना होगा Fwrite-- यह एक छोटे से अधिक
quickly-- बहुत ज्यादा है fread की सटीक बराबर
यह लिखने के लिए है सिवाय बजाय पढ़ने की, बस
other-- तरह हम खुले लिया है और करीब एक चरित्र मिलता है,
एक चरित्र लिखें।
अब यह मनमाने ढंग से मिलता है राशि की जानकारी,
सूचना के अधिकार मनमाना राशि।
तो पहले की तरह, हम कर सकते हैं 10 पूर्णांकों की एक सरणी है
जहां हम पहले से ही है जानकारी शायद, संग्रहीत।
>> यह शायद कोड की कुछ लाइनों था कि इन दोनों के बीच जाना चाहिए
मैं के साथ आगमन भरने जहां कुछ सार्थक।
मैं 10 अलग पूर्णांकों के साथ भरें।
और इसके बजाय, मैं क्या कर रहा हूँ कर रही आगमन से लिख रही है
और आगमन से जानकारी एकत्रित।
और मुझे लगता है कि जानकारी ले जा रहा हूँ और फाइल में डाल।
>> तो बजाय इसे से की जा रही है बफर करने के लिए फ़ाइल,
हम अभी से जा रहे हैं फाइल करने के लिए बफर।
तो यह सिर्फ रिवर्स है।
पहले की तरह तो फिर, हम कर सकते हैं यह भी स्मृति के ढेर हिस्सा है
हम गतिशील है कि आवंटित की है और उस से पढ़
और फाइल करने के लिए कि लिखें।
>> और हम भी एक एकल चर है एक बाइट धारण करने में सक्षम
इस तरह के एक चरित्र के रूप में जानकारी की।
लेकिन फिर, हम में पारित करने की जरूरत कि चर का पता
हम इसे से पढ़ने के लिए चाहते हैं।
इसलिए हम जानकारी लिख सकते हैं हम उस पते पर मिल
फ़ाइल सूचक के लिए, पीटीआर।
>> अन्य के बहुत सारे है महान फ़ाइल मैं / हे कार्यों
कि इसके अलावा विभिन्न बातें करते हैं हम लोगों के बारे में आज बात की है।
लोगों की एक जोड़ी आप उपयोगी मिल सकता है
fgets और fputs हैं, जो बराबर हैं
fgetc और fputc की लेकिन पढ़ने के लिए एक फ़ाइल से एक स्ट्रिंग।
इसके बजाय एक ही चरित्र की, यह एक पूरे स्ट्रिंग पढ़ा होगा।
मूल रूप से अनुमति देता है जो fprintf, आप फाइल को लिखने के लिए printf का उपयोग करने के लिए।
आप क्या कर सकते हैं तो बस जैसे का उपयोग कर चर प्रतिस्थापन
प्लेसहोल्डर्स प्रतिशत मैं और printf के साथ प्रतिशत डी, और इतने पर,
आप इसी तरह से ले जा सकते हैं printf स्ट्रिंग और प्रिंट कुछ
एक फाइल करने के लिए ऐसे ही।
>> fseek-- आप एक डीवीडी प्लेयर है, तो मैं आमतौर पर here-- उपयोग सादृश्य है
प्रकार के प्रयोग की तरह है आपके उल्टा और तेजी से आगे
बटन की फिल्म चारों ओर ले जाने के लिए।
इसी तरह, आप फ़ाइल के आसपास स्थानांतरित कर सकते हैं।
अंदर चीजों में से एक उस फ़ाइल संरचना
आप एक संकेत है कि ग बनाता है जहां से आप फ़ाइल में हैं।
आप बहुत कम कर रहे हैं बाइट शून्य पर, शुरुआत?
आप बाइट 100 पर कर रहे हैं, बाइट 1000, और इतने पर?
आप मनमाने ढंग से स्थानांतरित करने के लिए fseek उपयोग कर सकते हैं आगे या पीछे कि सूचक।
>> और फिर, ftell एक डीवीडी प्लेयर के समान है,
बताता है कि एक छोटी सी घड़ी की तरह है आप कितने मिनट और सेकंड आप
एक विशेष फिल्म में हैं।
इसी तरह, ftell बताता है कि कैसे कई बाइट्स आप फ़ाइल में हैं।
feof एक अलग संस्करण है की आप है कि क्या पता लगाने
फ़ाइल के अंत पर पहुंच गया।
और ferror एक समारोह है आप उपयोग कर सकते हैं
कुछ है कि क्या पता लगाने के लिए एक फ़ाइल के साथ गलत काम कर चला गया।
फिर, यह सिर्फ है सतह scratching।
बहुत अधिक फ़ाइल आई / ओ वहाँ अभी भी मानक io.h. में कार्य
लेकिन यह शायद आप मिल जाएगा फ़ाइल संकेत के साथ काम करना शुरू कर दिया।
मैं डौग लॉयड हूँ।
इस CS50 है।