ফাইল হলো রেকর্ডের সংগ্রহ অথবা হার্ড ডিস্কে এমন একটি স্থান যেখানে ডেটা পাবলিকলি স্টোর থাকে।
ফাইলে অপারেশন
C প্রোগ্রামিং ভাষায় ফাইলে নিম্নলিখিত অপারেশনগুলো করা যায়—
- ফাইল নামকরণ
- ফাইল খোলা
- ফাইল থেকে পড়া
- ফাইলে লেখা
- ফাইল বন্ধ করা
সিনট্যাক্স
ফাইল খোলার সিনট্যাক্স—
FILE *File pointer;
উদাহরণ: FILE * fptr;
ফাইল নামকরণের সিনট্যাক্স—
File pointer = fopen("File name", "mode");
উদাহরণ:
fptr = fopen("sample.txt", "r");
FILE *fp;
fp = fopen("sample.txt", "w");
ফাইলে এরর হ্যান্ডলিং
ফাইলে কিছু সাধারণ এরর—
- এন্ড অফ ফাইলের বাইরে পড়ার চেষ্টা।
- ডিভাইস ওভারফ্লো।
- অবৈধ ফাইল খোলার চেষ্টা।
- ভিন্ন মোডে ফাইল খোলায় অবৈধ অপারেশন।
ferror( )
রিড/রাইট অপারেশন время এরর ডিটেক্ট করতে ব্যবহৃত হয়।
ferror() ফাংশনের সিনট্যাক্স—
সিনট্যাক্স
int ferror(file pointer);
উদাহরণ:
উদাহরণ
FILE *fp;
if (ferror(fp)) printf("error has occurred");
সফল হলে শূন্য (zero) রিটার্ন করে, অন্যথায় নন-জিরো।
প্রোগ্রাম
ferror() ফাংশন ব্যবহার করে C প্রোগ্রাম—
#include<stdio.h>
int main() {
FILE *fptr;
fptr = fopen("sample.txt", "r");
if (ferror(fptr) != 0)
printf("error occurred");
putc('T', fptr);
if (ferror(fptr) != 0)
printf("error occurred");
fclose(fptr);
return 0;
}
আউটপুট
প্রোগ্রামটি এক্সিকিউট করলে—
error occurred Note: try to write a file in the read mode results an error.
perror( )
এরর প্রিন্ট করতে ব্যবহৃত হয়।
perror() ফাংশনের সিনট্যাক্স—
সিনট্যাক্স
perror(string variable);
উদাহরণ:
উদাহরণ
FILE *fp; char str[30] = "Error is"; perror(str);
আউটপুট—
Error is: error 0
প্রোগ্রাম
perror() ফাংশন ব্যবহার করে C প্রোগ্রাম—
#include<stdio.h>
int main() {
FILE *fp;
char str[30] = "error is";
int i = 20;
fp = fopen("sample.txt", "r");
if (fp == NULL) {
printf("file doesnot exist");
} else {
fprintf(fp, "%d", i);
if (ferror(fp)) {
perror(str);
printf("error since file is opened for reading only");
}
}
fclose(fp);
return 0;
}
আউটপুট
error is: Bad file descriptor error since file is opened for reading only
feof( )
এন্ড অফ ফাইল পৌঁছানো হয়েছে কিনা চেক করতে ব্যবহৃত হয়।
feof() ফাংশনের সিনট্যাক্স—
সিনট্যাক্স
int feof(file pointer);
উদাহরণ:
উদাহরণ
FILE *fp;
if (feof(fp)) printf("reached end of the file");
সফল হলে নন-জিরো, অন্যথায় শূন্য রিটার্ন করে।
প্রোগ্রাম
feof() ফাংশন ব্যবহার করে C প্রোগ্রাম—
#include<stdio.h>
main() {
FILE *fp;
int i, n;
fp = fopen("number.txt", "w");
for (i = 0; i <= 100; i = i + 10) {
putw(i, fp);
}
fclose(fp);
fp = fopen("number.txt", "r");
printf("file content is");
for (i = 0; i <= 100; i++) {
n = getw(fp);
if (feof(fp)) {
printf("reached end of file");
break;
} else {
printf("%d", n);
}
}
fclose(fp);
getch();
}
আউটপুট
File content is 10 20 30 40 50 60 70 80 90 100 Reached end of the file.