फ़ाइल बंद करना: फ़ाइल के साथ किए जाने पर, इसे फ़ंक्शन fclose() का उपयोग करके बंद किया जाना चाहिए।
fclose(ifp);
fclose(ofp);
फ़ाइल बंद करना बहुत महत्वपूर्ण है, खासकर आउटपुट फाइलों के साथ। कारण यह है कि आउटपुट अक्सर buffered है। इसका मतलब यह है कि जब आप सी बता कुछ को लिखने के लिए, उदाहरण के लिए,
fprintf(ofp, "Whatever!\n");
यह आवश्यक डिस्क पर लिखी नहीं प्राप्त करता है सही दूर है, लेकिन स्मृति में एक बफर में हो सकता है। यह आउटपुट बफर पाठ अस्थायी रूप से पकड़ होगा:
नमूना उत्पादन बफर:
----------------------------------------------
| a | b | c | W | h | a | t | e | v | e | r |
----------------------------------------------
| ! | \n | | | | | | | | | |
----------------------------------------------
| | | | | | | | | | | |
----------------------------------------------
| | | | | | | | | | | |
----------------------------------------------
...
(बफर वास्तव में सिर्फ इस ड्राइंग के बावजूद 1-आयामी है।)
बफर भरता जब (या जब फ़ाइल बंद है), डेटा अंत में डिस्क पर लिखा गया है।
संदर्भ: http://www.cs.bu.edu/teaching/c/file-io/intro/
नीचे दिए गए उत्तरों का एक गुच्छा कहता है कि बंद() डिस्क पर बफर फ्लश करता है। हालांकि, बंद() एक POSIX फ़ंक्शन है और ऐसी कोई चीज़ POSIX बंद() के बारे में सच नहीं है। यह केवल ताले जारी करता है और संसाधनों को मुक्त करता है। –