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

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”);

ファイルから読み取るの構文 次のとおりです-

int fgetc( FILE * fp );// read a single character from a file

ファイルへの書き込みの構文 次のとおりです-

int fputc( int c, FILE *fp ); // write individual characters to a stream

これらの関数を使用して、あるファイルの内容を別のファイルにコピーできます。

以下は、あるファイルの内容を別のファイルにコピーするためのCプログラムです-

#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
file3.txt
Enter the filename to open for writing
file1.txt
Contents copied to file1.txt

  1. Cプログラムのリンクリストの最後からn番目のノードのプログラム

    n個のノードがある場合、タスクはリンクリストの最後からn番目のノードを印刷することです。プログラムは、リスト内のノードの順序を変更してはなりません。代わりに、リンクリストの最後からn番目のノードのみを出力する必要があります。 例 Input -: 10 20 30 40 50 60    N=3 Output -: 40 上記の例では、最初のノードからカウントnノードまでのノードがトラバースされます(10、20、30、40、50、60)。したがって、最後から3番目のノードは40です。 リスト全体をトラバースする代わりに、この効率的なアプローチに従うことができます-

  2. C円内に内接する十角形の領域のプログラム?

    ここでは、円の内側にある十角形の領域を取得する方法を説明します。半径が与えられます。十角形の側面は「a」です。 十角形の側面は以下のようになっていることがわかっているので- したがって、面積は- 例 #include <iostream> #include <cmath> using namespace std; float area(float r) {    if (r < 0) //if r is negative it is invalid       return -1;