কম্পিউটার

সি ভাষায় উচ্চ স্তরের I/O ফাংশনগুলি কী কী?


I/O C ভাষায় ইনপুট - আউটপুট ফাংশনকে বোঝায়।

উচ্চ স্তরের I/O

  • এগুলি মানুষ সহজেই বুঝতে পারে
  • সুবিধা হল বহনযোগ্যতা।

নিম্ন স্তরের I/O

  • এগুলি কম্পিউটার দ্বারা সহজে বোঝা যায়৷
  • সুবিধা হল যে কার্যকর করার সময় কম।
  • অসুবিধা হল নন-পোর্টেবিলিটি।

উচ্চ স্তরের I/O ফাংশনগুলি

উচ্চ স্তরের ইনপুট - আউটপুট (I/O) ফাংশনগুলি নীচে ব্যাখ্যা করা হয়েছে −

ফাংশন বর্ণনা
fprintf ( ) একটি ফাইলে ডেটা লিখুন
fscanf ( ) একটি ফাইল থেকে ডেটা পড়ুন
putc ( )/ fputc() একটি ফাইলে একটি অক্ষর লিখুন
getc ( ) /fgetc() একটি ফাইল থেকে একটি অক্ষর পড়ুন
putw ( ) একটি ফাইলে একটি সংখ্যা লিখুন
getw ( ) একটি ফাইল থেকে নম্বর পড়ুন
fputs ( ) একটি ফাইলে একটি স্ট্রিং লিখুন
fgets ( ) একটি ফাইল থেকে একটি স্ট্রিং পড়ুন
fread() একটি ফাইল থেকে একটি সম্পূর্ণ রেকর্ড পড়ুন
fwrite() একটি ফাইলে একটি সম্পূর্ণ রেকর্ড লিখুন

fprintf ( ) এবং fscanf ( ) ফাংশন

  • fprintf ( )

সিনট্যাক্স নিম্নরূপ -

fprintf (file pointer, " control string”, variable list)

উদাহরণস্বরূপ,

FILE *fp;
fprintf (fp, "%d%c”, a,b);
  • fscanf ( )

সিনট্যাক্স নিম্নরূপ -

fscanf(file pointer, "control string”, & variable list);

উদাহরণস্বরূপ,

FILE *fp;
fscanf (fp, "%d%c”, &a,&b);

putc( ) এবং getc( ) ফাংশন

  • putc ( )

এটি একটি ফাইলে একটি অক্ষর লেখার জন্য ব্যবহৃত হয়৷

সিনট্যাক্স নিম্নরূপ -

putc (char ch, FILE *fp);

উদাহরণস্বরূপ,

FILE *fp;
char ch;
putc(ch, fp);
  • c ( ) পান

এটি ফাইল থেকে একটি অক্ষর পড়ার জন্য ব্যবহৃত হয়৷

সিনট্যাক্স নিম্নরূপ -

char getc (FILE *fp);

উদাহরণস্বরূপ,

FILE *fp;
char ch;
ch = getc(fp);

সি ভাষায় উচ্চ স্তরের I/O ফাংশনগুলি কী কী?

putw ( ) এবং getw ( ) ফাংশন

  • putw( )

এটি ফাইলে একটি সংখ্যা লেখার জন্য ব্যবহৃত হয়।

সিনট্যাক্স নিম্নরূপ -

putw (int num, FILE *fp);

উদাহরণস্বরূপ,

FILE *fp;
int num;
putw(num, fp);
  • getw ( )

এটি একটি ফাইল থেকে একটি সংখ্যা পড়ার জন্য ব্যবহৃত হয়৷

সিনট্যাক্স নিম্নরূপ -

int getw (FILE *fp);

উদাহরণস্বরূপ,

FILE *fp;
int num;
num = getw(fp);

সি ভাষায় উচ্চ স্তরের I/O ফাংশনগুলি কী কী?

fput c ( ) এবং fgetc ( ) ফাংশন

  • fputc( )

এটি একটি ফাইলে একটি অক্ষর লেখার জন্য ব্যবহৃত হয়৷

সিনট্যাক্স নিম্নরূপ -

fputc (char ch, FILE *fp);

উদাহরণস্বরূপ,

FILE *fp;
char ch;
fputc (ch.fp);
  • fgetc( )

এটি একটি ফাইল থেকে একটি অক্ষর পড়ার জন্য ব্যবহৃত হয়৷

সিনট্যাক্স নিম্নরূপ -

fputc (char ch, FILE *fp);

উদাহরণস্বরূপ,

FILE *fp;
char ch;
ch = fgetc(fp);

fgets ( ) এবং fputs ( ) ফাংশন

  • fgets ( )

এটি একটি ফাইল থেকে একটি স্ট্রিং পড়ার জন্য ব্যবহৃত হয়৷

সিনট্যাক্স নিম্নরূপ

fgets (string variable, No. of characters, File pointer);

উদাহরণস্বরূপ,

FILE *fp;
char str [30];
fgets (str,30,fp);
  • fputs ( )

এটি একটি ফাইলে একটি স্ট্রিং লেখার জন্য ব্যবহৃত হয়৷

সিনট্যাক্স নিম্নরূপ -

fputs (string variable, file pointer);

উদাহরণস্বরূপ,

FILE *fp;
char str[30];
fputs (str,fp);

সি ভাষায় উচ্চ স্তরের I/O ফাংশনগুলি কী কী?

fread ( ) এবং fwrite ( ) ফাংশন

  • fread ( )

এটি একটি সময়ে সম্পূর্ণ রেকর্ড পড়ার জন্য ব্যবহৃত হয়৷

সিনট্যাক্স নিম্নরূপ -

fread( & structure variable, size of (structure variable), no of records, file pointer);

উদাহরণস্বরূপ,

struct emp{
   int eno;
   char ename [30];
   float sal;
} e;
FILE *fp;
fread (&e, sizeof (e), 1, fp);
  • fwrite ( )

এটি একটি সময়ে একটি সম্পূর্ণ রেকর্ড লেখার জন্য ব্যবহৃত হয়৷

সিনট্যাক্স নিম্নরূপ -

fwrite( & structure variable , size of structure variable, no of records, file pointer);

উদাহরণস্বরূপ,

struct emp{
   int eno:
   char ename [30];
   float sal;
} e;
FILE *fp;
fwrite (&e, sizeof(e), 1, fp);

উদাহরণ প্রোগ্রাম

1 থেকে 10 পর্যন্ত সংখ্যা সংরক্ষণ করার জন্য এবং একই −

প্রিন্ট করার জন্য C প্রোগ্রামটি নিচে দেওয়া হল
//Program for storing no’s from 1 to 10 and print the same
#include<stdio.h>
int main( ){
   FILE *fp;
   int i;
   fp = fopen ("num.txt", "w");
   for (i =1; i<= 10; i++){
      putw (i, fp);
   }
   fclose (fp);
   fp =fopen ("num.txt", "r");
   printf ("file content is");
   for (i =1; i<= 10; i++){
      i= getw(fp);
      printf ("%d",i);
   }
   fclose (fp);
   return 0;
}

আউটপুট

যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -

file content is12345678910

নীচে একটি ফাইলে 5 জন শিক্ষার্থীর বিবরণ সংরক্ষণ করার জন্য আরেকটি C প্রোগ্রাম দেওয়া হল এবং fread ( ) এবং fwrite ( ) −

ব্যবহার করে প্রিন্ট করুন।

উদাহরণ

#include<stdio.h>
struct student{
   int sno;
   char sname [30];
   float marks;
   char temp;
};
main ( ){
   struct student s[60];
   int i;
   FILE *fp;
   fp = fopen ("student1.txt", "w");
   for (i=0; i<2; i++){
      printf ("enter details of student %d\n", i+1);
      printf("student number:");
      scanf("%d",&s[i].sno);
      scanf("%c",&s[i].temp);
      printf("student name:");
      gets(s[i].sname);
      printf("student marks:");
      scanf("%f",&s[i].marks);
      fwrite(&s[i], sizeof(s[i]),1,fp);
   }
   fclose (fp);
   fp = fopen ("student1.txt", "r");
   for (i=0; i<2; i++){
      printf ("details of student %d are\n", i+1);
      fread (&s[i], sizeof (s[i]) ,1,fp);
      printf("student number = %d\n", s[i]. sno);
      printf("student name = %s\n", s[i]. sname);
      printf("marks = %f\n", s[i]. marks);
   }
   fclose(fp);
   getch( );
}

আউটপুট

যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -

enter details of student 1
student number:1
student name:bhanu
student marks:50
enter details of student 2
student number:2
student name:priya
student marks:69
details of student 1 are
student number = 1
student name = bhanu
marks = 50.000000
details of student 2 are
student number = 2
student name = priya
marks = 69.000000

  1. C ভাষায় putw() এবং getw() ফাংশন ব্যাখ্যা কর

  2. সি প্রোগ্রামিং এর বিভিন্ন ক্যাটাগরির ফাংশন কি কি?

  3. সি ভাষায় শিফট অপারেশন কি কি?

  4. সি ভাষায় বিভিন্ন অনুসন্ধান কৌশল কি কি?