Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

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

  1. 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&

  2. C言語でのさまざまな検索手法は何ですか?

    検索手法とは、要素のリストから重要な要素を見つけることです。 指定された要素がリストに存在する場合、検索プロセスは成功したと言われます。 指定された要素がリストに存在しない場合、検索プロセスは失敗したと言われます。 C言語は、2種類の検索手法を提供します。それらは次のとおりです- 線形検索 二分探索 線形探索 キー要素の検索は直線的に行われます。 これは最も簡単な検索手法です。 リストが並べ替えられることは想定されていません。 制限-より多くの時間を消費し、システムの電力を削減します。 入力(i / p) ソートされていない要素のリスト、キー。 出力(o /