C প্রোগ্রামিং-এ getchar(), fgetc() এবং getc() ফাংশন সম্পর্কে বিশদ বিবরণ নিম্নরূপ দেওয়া হয়েছে -
গেটচার() ফাংশন
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
এখন আসুন উপরের প্রোগ্রামটি বুঝতে পারি।
প্রথমে, ফাইলটি তৈরি করা হয় এবং ডেটা "অ্যাপল" এর ভিতরে সংরক্ষণ করা হয়। তারপর ফাইল বন্ধ। কোড স্নিপেট যা এটি দেখায় তা হল নিম্নরূপ −
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);