একটি ফাইল ডিস্কে একটি ভৌত স্টোরেজ অবস্থান এবং একটি ডিরেক্টরি হল একটি লজিক্যাল পাথ যা ফাইলগুলিকে সংগঠিত করতে ব্যবহৃত হয়। একটি ডিরেক্টরির মধ্যে একটি ফাইল বিদ্যমান৷
৷আমরা ফাইলে যে তিনটি অপারেশন করতে পারি তা হল -
- একটি ফাইল খুলুন।
- প্রসেস ফাইল (পড়ুন, লিখুন, পরিবর্তন করুন)।
- ফাইল সংরক্ষণ করুন এবং বন্ধ করুন।
প্রোগ্রাম
জোড়, বিজোড় এবং মৌলিক সংখ্যাগুলিকে আলাদা ফাইলে সংরক্ষণ করার জন্য C প্রোগ্রামটি নিচে দেওয়া হল −
#include <stdio.h> #include <stdlib.h> /* Function declarations */ int even(const int num); int prime(const int num); int main(){ FILE * fptrinput, * fptreven, * fptrodd, * fptrprime; int num, success; fptrinput = fopen("numbers.txt", "r"); fptreven = fopen("even-numbers.txt" , "w"); fptrodd = fopen("odd-numbers.txt" , "w"); fptrprime= fopen("prime-numbers.txt", "w"); if(fptrinput == NULL || fptreven == NULL || fptrodd == NULL || fptrprime == NULL){ /* Unable to open file hence exit */ printf("Unable to open file.\n"); exit(EXIT_FAILURE); } /* File open success message */ printf("File opened successfully. Reading integers from file. \n\n"); // Read an integer and store read status in success. while (fscanf(fptrinput, "%d", &num) != -1){ if (prime(num)) fprintf(fptrprime, "%d\n", num); else if (even(num)) fprintf(fptreven, "%d\n", num); else fprintf(fptrodd, "%d\n", num); } fclose(fptrinput); fclose(fptreven); fclose(fptrodd); fclose(fptrprime); printf("Data written successfully."); return 0; } int even(const int num){ return !(num & 1); } int prime(const int num){ int i; if (num < 0) return 0; for ( i=2; i<=num/2; i++ ) { if (num % i == 0) { return 0; } } return 1; }
আউটপুট
যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -
File opened successfully. Reading integers from file. Data written successfully.
ব্যাখ্যা
জোড়, বিজোড় এবং মৌলিক সংখ্যাগুলিকে আলাদা ফাইলে সংরক্ষণ করতে ব্যবহৃত প্রোগ্রামের জন্য নীচে একটি ব্যাখ্যা দেওয়া হল -
Input file: numbers.txt file contains: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Which is open in read mode (already exists file) Separated even, odd and prime numbers in separate file after execution even-numbers.txt contains: 4 6 8 10 12 14 16 odd-numbers.txt contains: 9 15 prime-numbers.txt contains: 1 2 3 5 7 11 13 17