फ़ाइल अभिलेखों का एक संग्रह है (या) हार्ड डिस्क पर एक जगह है, जहां डेटा स्थायी रूप से संग्रहीत किया जाता है। C कमांड का उपयोग करके, हम फ़ाइलों को विभिन्न तरीकों से एक्सेस कर सकते हैं।
फ़ाइलों पर संचालन
सी भाषा में फाइलों पर किए जा सकने वाले संचालन इस प्रकार हैं -
- फ़ाइल का नामकरण.
- फ़ाइल खोली जा रही है।
- फ़ाइल से पढ़ना।
- फ़ाइल में लिखना।
- फ़ाइल बंद करना।
सिंटैक्स
फ़ाइल खोलना और नामकरण करना . के लिए सिंटैक्स इस प्रकार है -
FILE *File pointer;
उदाहरण के लिए, FILE * fptr;
File pointer = fopen ("File name”, "mode”);
उदाहरण के लिए, fptr =fopen ("sample.txt", "r");
FILE *fp; fp = fopen ("sample.txt”, "w”);
फ़ाइल से पढ़ने . के लिए सिंटैक्स इस प्रकार है -
int fgetc( FILE * fp );// read a single character from a file
फ़ाइल में लिखने . के लिए सिंटैक्स इस प्रकार है -
int fputc( int c, FILE *fp ); // write individual characters to a stream
इन फंक्शन की मदद से हम एक फाइल के कंटेंट को दूसरी फाइल में कॉपी कर सकते हैं।
उदाहरण
एक फ़ाइल की सामग्री को दूसरी फ़ाइल में कॉपी करने के लिए C प्रोग्राम निम्नलिखित है -
#include <stdio.h> #include <stdlib.h> // For exit() int main(){ FILE *fptr1, *fptr2; char filename[100], c; printf("Enter the filename to open for reading \n"); scanf("%s",filename); // Open one file for reading fptr1 = fopen(filename, "r"); if (fptr1 == NULL){ printf("Cannot open file %s \n", filename); exit(0); } printf("Enter the filename to open for writing \n"); scanf("%s", filename); // Open another file for writing fptr2 = fopen(filename, "w"); if (fptr2 == NULL){ printf("Cannot open file %s \n", filename); exit(0); } // Read contents from file c = fgetc(fptr1); while (c != EOF){ fputc(c, fptr2); c = fgetc(fptr1); } printf("\nContents copied to %s", filename); fclose(fptr1); fclose(fptr2); return 0; }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
Enter the filename to open for reading file3.txt Enter the filename to open for writing file1.txt Contents copied to file1.txt