https://www.rakeshmgs.in/search/label/Template
https://www.rakeshmgs.in

Learn in Hindi

RakeshMgs

File Handling in C Programming | File Input / Output in C Hindi Notes

रविवार, मार्च 21, 2021

File Input/Output in C

एक file bytes की sequence होती है। File किसी भी data को store करने के लिए यूज़ की जाती है। Files को permanent storage के लिए यूज़ किया जाता है। जब आप किसी program को run करवाते है और उसका output देखने के बाद उसे बंद कर देते है तो उसका output वहीँ remove हो जाता है।

यदि आप इस output को permanently store करना चाहते है तो C language के file handling feature को यूज़ कर सकते है।

C file handling का यूज़ यँही ख़त्म नहीं होता है। यदि program में दिए जाने वाला input भी बहुत अधिक है तो किसी human द्वारा इसे enter कराने के बजाय आप file का यूज़ कर सकते है। इससे program automatically file से ही input ले लेगा।

C language के द्वारा आप files से related ये काम कर सकते है।

  1. Existing files को open कर सकते है और नयी files create कर सकते है।
  2. किसी भी program के output को file में store कर सकते है।
  3. File के द्वारा किसी भी program में input भी दे सकते है।
  4. सभी operations perform होने के बाद files को close कर सकते है।

Opening a File

किसी भी file में output store करने या उसमें से input लेने से पहले उसे open किया जाता है। File open करने के लिए आप fopen() function को use करते है।

जब आप किसी ऐसी file को open करने के कोशिश करते है जो exist ही नहीं करती तो वो file automatically create हो जाती है। यदि file पहले से exist करती है तो वह open हो जाती है। आप किस mode में file को open करते है ये उस पर depend करता है।

C language के द्वारा आप files को अलग अलग modes में open कर सकते है। ये mode आप function को call करते समय define करते है। उदाहरण के लिए यदि आप किसी file से सिर्फ data read करने वाले है तो आप उसको read mode में open कर सकते है।

और यदि आप file में output store करना चाहते है तो उसे write mode में open कर सकते है। और आप चाहे तो किसी file को दोनों modes में भी open कर सकते है।



	
	
FILE *fp;

General Syntax:

fopen() function में 2 arguments pass किये जाते है।

	
	
*fp = FILE *fopen(const char *filename, const char *mode);

एक तो hard disk पर file का address और दूसरा वह mode जिसमें आप file open करना चाहते है। ये function FILE type का एक object return करता है। इसलिए इसका return type FILE होता है।
और इसीलिए आप इस function के द्वारा return किये गए object को FILE type के दूसरे object में store करेंगे।



Closing a File

Fclose () फ़ंक्शन का उपयोग open file को close करने के लिए किया जाता है।

General Syntax :

	
	
int fclose( FILE *fp);

यहाँ fclose() फ़ंक्शन file को close कर देता है और यदि file को close करने में कोई error होती है, तो returns zero on success यह EOF हेडर फ़ाइल stdio.h में constant defined है।

Writing to a File

C language के द्वारा किसी file में data write करने के लिए आप 2 functions यूज़ कर सकते है।

  1. fputc()
  2. fputs()

यँहा पर fputs() function का example नीचे दिया जा रहा है। इस function में 2 arguments pass किये जाते है। पहला argument वो string होती है जिसे आप file में store करना चाहते है और दूसरा argument file pointer होता है।

	
	
#include<stdio.h> int main() { FILE *fp; char ch; fp = fopen("one.txt", "w"); printf("Enter data..."); while( (ch = getchar()) != EOF) { putc(ch, fp); } fclose(fp); fp = fopen("one.txt", "r"); while( (ch = getc(fp)! = EOF) printf("%c",ch); // closing the file pointer fclose(fp); return 0; }

Reading and Writing to File using fprintf() and fscanf()

	
	
#include<stdio.h> struct emp { char name[10]; int age; }; void main() { struct emp e; FILE *p,*q; p = fopen("one.txt", "a"); q = fopen("one.txt", "r"); printf("Enter Name and Age:"); scanf("%s %d", e.name, &e.age); fprintf(p,"%s %d", e.name, e.age); fclose(p); do { fscanf(q,"%s %d", e.name, e.age); printf("%s %d", e.name, e.age); } while(!feof(q)); }

इस प्रोग्राम में, हमने दो FILE पॉइंटर्स बनाए हैं और दोनों एक ही file का referr दे रहे हैं लेकिन अलग-अलग modes में।