C言語の高レベル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);
- get c()
ファイルから文字を読み取るために使用されます。
構文は次のとおりです-
char getc (FILE *fp);
たとえば、
FILE *fp; char ch; ch = getc(fp);
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);
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);
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人の学生の詳細をファイルに保存し、fread()とfwrite()を使用して同じものを印刷するための別のCプログラムです-
例
#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
-
C言語でのシフト演算とは何ですか?
問題 C言語を使用して、数値の左シフト、右シフト、および補数を表示する簡単なプログラムは何ですか? 解決策 左シフト 変数の値が1回左シフトされると、その値は2倍になります。 たとえば、a =10、次にa <<1 =20 右シフト 変数の値を1回右シフトすると、その値は元の値の半分になります。 1 =5 例 以下はシフト操作のCプログラムです- #include<stdio.h> main (){ int a=9; printf("Rightshift of a = %d\n",a&
-
C言語でのさまざまな検索手法は何ですか?
検索手法とは、要素のリストから重要な要素を見つけることです。 指定された要素がリストに存在する場合、検索プロセスは成功したと言われます。 指定された要素がリストに存在しない場合、検索プロセスは失敗したと言われます。 C言語は、2種類の検索手法を提供します。それらは次のとおりです- 線形検索 二分探索 線形探索 キー要素の検索は直線的に行われます。 これは最も簡単な検索手法です。 リストが並べ替えられることは想定されていません。 制限-より多くの時間を消費し、システムの電力を削減します。 入力(i / p) ソートされていない要素のリスト、キー。 出力(o /