সি প্রোগ্রামিং-এ getchar(), fgetc() এবং getc() ফাংশনগুলো সম্পর্কে নিচে দেওয়া হলো:
getchar() ফাংশন
getchar() ফাংশন stdin-এর থেকে একটি ক্যারেক্টার পায়। এটি পঠিত ক্যারেক্টারটি ইন্টিজার আকারে রিটার্ন করে অথবা এরর হলে EOF রিটার্ন করে।
এটি প্রদর্শনের একটি প্রোগ্রাম:
উদাহরণ
#include <stdio.h>
int main (){
int i;
printf("Enter a character: ");
i = getchar();
printf("\nThe character entered is: ");
putchar(i);
return(0);
}
আউটপুট
Enter a character: G The character entered is: G
এখন প্রোগ্রামটি বুঝে নিই।
getchar() ফাংশন ব্যবহার করে প্রাপ্ত মান i নামক ইন্টিজার ভেরিয়েবলে সংরক্ষিত হয়। তারপর ক্যারেক্টার মান putchar() ব্যবহার করে ডিসপ্লে করা হয়। কোড স্নিপেট:
int i; printf("Enter a character: "); i = getchar(); printf("\nThe character entered is: "); putchar(i);
fgetc() ফাংশন
fgetc() ফাংশন একটি ফাইল স্ট্রিম থেকে (যা একটি FILE অবজেক্টের পয়েন্টার) একটি ক্যারেক্টার পায়। এই ফাংশন পঠিত ক্যারেক্টারটি ইন্টিজার আকারে রিটার্ন করে অথবা এরর হলে EOF রিটার্ন করে।
এটি প্রদর্শনের একটি প্রোগ্রাম:
উদাহরণ
#include <stdio.h>
int main (){
FILE *fp;
fp = fopen("file.txt", "w");
fprintf(fp, "Apple");
fclose(fp);
int i;
fp = fopen("file.txt","r");
if(fp == NULL){
perror("Error in opening file");
return(-1);
}
while((i=fgetc(fp))!=EOF){
printf("%c",i);
}
fclose(fp);
return(0);
}
আউটপুট
Apple
এখন প্রোগ্রামটি বুঝে নিই।
প্রথমে ফাইল তৈরি করা হয়েছে এবং "Apple" ডেটা সেখানে সংরক্ষিত হয়েছে। তারপর ফাইল বন্ধ করা হয়েছে। কোড স্নিপেট:
FILE *fp; fp = fopen("file.txt", "w"); fprintf(fp, "Apple"); fclose(fp);
ফাইলটি আবার রিড মোডে ওপেন করা হয়েছে। যদি fp NULL হয় তবে এরর মেসেজ ডিসপ্লে করা হয়। অন্যথায় ফাইলের কন্টেন্ট fgetc() ফাংশন ব্যবহার করে ডিসপ্লে করা হয়। কোড স্নিপেট:
fp = fopen("file.txt","r"); if(fp == NULL){ perror("Error in opening file"); return(-1); } while((i=fgetc(fp))!=EOF){ printf("%c",i); } fclose(fp);
getc() ফাংশন
getc() ফাংশন নির্দিষ্ট স্ট্রিম থেকে একটি ক্যারেক্টার পায়। এটি পঠিত ক্যারেক্টারটি ইন্টিজার আকারে রিটার্ন করে অথবা এরর হলে EOF রিটার্ন করে।
এটি প্রদর্শনের একটি প্রোগ্রাম:
উদাহরণ
#include <stdio.h>
int main (){
int i;
printf("Enter a character: ");
i = getc(stdin);
printf("\nThe character entered is: ");
putchar(i);
return(0);
}
আউটপুট
Enter a character: K The character entered is: K
এখন প্রোগ্রামটি বুঝে নিই।
getc() ফাংশন নির্দিষ্ট স্ট্রিম stdin-এর থেকে একটি ক্যারেক্টার পায়। এই মান int ভেরিয়েবল i-তে সংরক্ষিত হয়। তারপর ক্যারেক্টার মান putchar() ব্যবহার করে ডিসপ্লে করা হয়। কোড স্নিপেট:
int i; printf("Enter a character: "); i = getc(stdin); printf("\nThe character entered is: "); putchar(i);