एक फ़ाइल के लिए निम्न आदेश का उपयोग कर खोला जाता है:'ए +' मोड में कोई फ़ाइल खोलने में
FILE *f1=fopen("test.dat","a+");
आदमी पेज पर लिखा है:
एक +
पढ़ने और जोड़कर के लिए खुला है (फ़ाइल के अंत में लिखना)। फ़ाइल बनाई गई है यदि यह मौजूद नहीं है। पढ़ने के लिए प्रारंभिक फ़ाइल स्थिति फ़ाइल की शुरुआत में है, लेकिन आउटपुट हमेशा फ़ाइल के अंत में संलग्न है।
तो f1
करता है 2 अलग ऑफसेट संकेत दिए गए, एक को पढ़ने के लिए & लिखने के लिए एक और है?
यह जानना भी उपयोगी हो सकता है कि यह आमतौर पर POSIX सिस्टम पर O_APPEND ध्वज के साथ 'खुला' के संदर्भ में लागू किया जाता है: http://pubs.opengroup.org/onlinepubs/7908799/xsh/open.html –
इन केस fseek पढ़ने से पहले नहीं कहा जाता है, नीचे दिए गए कोड में बहुत सी रिक्त स्थान मुद्रित की जाती हैं। मैं स्क्रीन पर प्रिंट करने के लिए कुछ भी उम्मीद नहीं कर रहा था। लेकिन किसी भी कारण से रिक्त स्थान मुद्रित किए जाते हैं? इसका मतलब है कि ईओएफ सही ढंग से सामना नहीं किया गया है। अगर मैं नीचे fseek uncomment, डेटा स्क्रीन पर सही ढंग से मुद्रित है। 'int मुख्य() { फ़ाइल * fp1; चार सी; fp1 = fopen ("m.txt", "a +"); फ़ूट ("डेटा संलग्न", fp1); // fseek (fp1,0, SEEK_SET); जबकि ((ch = getc (fp1))! = ईओएफ) { putc (ch, stdout); } fclose (fp1); वापसी 0; } ' –