C言語のファイルに対するさまざまな操作は何ですか?
C言語のファイルで実行できる操作は次のとおりです-
- ファイルに名前を付ける。
- ファイルを開きます。
- ファイルからの読み取り。
- ファイルへの書き込み。
- ファイルを閉じます。
構文
ファイルを開いて名前を付けるの構文 次のとおりです-
FILE *File pointer;
たとえば、FILE * fptr;
File pointer = fopen ("File name”, "mode”);
たとえば、fptr =fopen( "sample.txt"、 "r")
FILE *fp; fp = fopen ("sample.txt”, "w”);
ファイルを開くモード
C言語でファイルを開くモードを以下に説明します-
モード | 説明 |
---|---|
r | ファイルは読み取り用に開かれています |
w | ファイルは書き込み用に開かれています |
a + | ファイルを追加用に開きました |
r + | ファイルが読み取りと書き込み用に開かれました |
w + | 書き込みと読み取りのために開かれたファイル |
a + | ファイルを追加して読み取るために開いた |
rt | テキストファイルが読み取り用に開かれています |
wt | テキストファイルが書き込み用に開かれています |
at | 追加用にテキストファイルが開かれます |
r + t | テキストファイルが読み書き用に開かれています |
w + t | テキストファイルは書き込みと読み取りの両方で開かれます |
a + t | テキストファイルは、追加と読み取りの両方のために開かれます |
rb | バイナリファイルが読み取り用に開かれています |
wb | バイナリファイルが書き込み用に開かれています |
ab | バイナリファイルが追加用に開かれています |
r + b | バイナリファイルは読み取りと書き込みの両方で開かれます |
w + b | バイナリファイルは書き込みと読み取りの両方で開かれます |
a + b | バイナリファイルは、追加と読み取りの両方のために開かれます。 |
- ファイルを開く書き込みモード
構文は次のとおりです-
FILE *fp; fp =fopen ("sample.txt”, "w”);
ファイルが存在しない場合は、新しいファイルが作成されます。
ファイルが存在する場合、古いコンテンツは消去され、現在のコンテンツが保存されます。
- ファイルを開く読み取りモード
構文は次のとおりです-
FILE *fp fp =fopen ("sample.txt”, "r”);
ファイルが存在しない場合、fopen関数はNULL値を返します。
ファイルが存在する場合、データはファイルから正常に読み取られます
- ファイルを開くための追加モード
構文は次のとおりです-
FILE *fp; fp =fopen ("sample.txt", "a");
ファイルが存在しない場合は、新しいファイルが作成されます。
ファイルが存在する場合、現在のコンテンツが古いコンテンツに追加されます。
モード | 終了 | 終了しない |
---|---|---|
R | 読む | fp ="NULL" |
W | 現在のコンテンツ | 新しいファイルが作成されます |
A | 古いコンテンツ現在のコンテンツ | 新しいファイルが作成されます |
例
以下はファイル操作用のCプログラムです-
//Program for copying the contents of one file into another file #include <stdio.h> #include <stdlib.h> // For exit() int main(){ FILE *fptr1, *fptr2; char filename[100], c; printf("Enter the filename to open for reading \n"); scanf("%s",filename); // Open one file for reading fptr1 = fopen(filename, "r"); if (fptr1 == NULL){ printf("Cannot open file %s \n", filename); exit(0); } printf("Enter the filename to open for writing \n"); scanf("%s", filename); // Open another file for writing fptr2 = fopen(filename, "w"); if (fptr2 == NULL){ printf("Cannot open file %s \n", filename); exit(0); } // Read contents from file c = fgetc(fptr1); while (c != EOF){ fputc(c, fptr2); c = fgetc(fptr1); } printf("\nContents copied to %s", filename); fclose(fptr1); fclose(fptr2); return 0; }
出力
上記のプログラムを実行すると、次の結果が得られます-
Enter the filename to open for reading file2.txt Enter the filename to open for writing file1.txt Contents copied to file1.txt
-
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 /