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

あるファイルの内容を別のファイルにコピーするCプログラム?


CファイルI/O −ファイルの作成、開く、読み取り、書き込み、および閉じる

Cファイル管理

ファイルは、大量の永続データを保存するために使用できます。他の多くの言語と同様に、「C」は次のファイル管理機能を提供します。

  • ファイルの作成
  • ファイルを開く
  • ファイルの読み取り
  • ファイルへの書き込み
  • ファイルを閉じる

以下は、「C」で使用できる最も重要なファイル管理機能です。

関数 目的
fopen() ファイルの作成または既存のファイルのオープン
fclose() ファイルを閉じる
fprintf() データのブロックをファイルに書き込む
fscanf() ファイルからのブロックデータの読み取り
getc() ファイルから1文字を読み取ります
putc() ファイルに1文字を書き込みます
getw() ファイルから整数を読み取ります
putw() ファイルへの整数の書き込み
fseek() ファイルポインタの位置を指定された場所に設定します
ftell() ファイルポインタの現在の位置を返します
巻き戻し() ファイルの先頭にファイルポインタを設定します


Input:
sourcefile = x1.txt
targefile = x2.txt
Output: File copied successfully.

説明

このプログラムでは、ファイルを別のファイルにコピーします。最初に、コピーするファイルを指定します。ファイルを開いてから、コピーするファイルを「読み取り」モードで読み取り、ターゲットファイルを「書き込み」モードで読み取ります。

#include <iostream>
#include <stdlib.h>
using namespace std;
int main() {
   char ch;// source_file[20], target_file[20];
   FILE *source, *target;
   char source_file[]="x1.txt";
   char target_file[]="x2.txt";
   source = fopen(source_file, "r");
   if (source == NULL) {
      printf("Press any key to exit...\n");
      exit(EXIT_FAILURE);
   }
   target = fopen(target_file, "w");
   if (target == NULL) {
      fclose(source);
      printf("Press any key to exit...\n");
      exit(EXIT_FAILURE);
   }
   while ((ch = fgetc(source)) != EOF)
      fputc(ch, target);
   printf("File copied successfully.\n");
   fclose(source);
   fclose(target);
   return 0;
}

  1. 使用中のファイル、ファイルが別のプログラムで開かれているため、アクションを完了できません

    Windowsタスクマネージャを開いた場合 パフォーマンスに移動します タブでは、コンピュータが実行している操作とアクティビティを観察できます。時々ウィンドウ 完了する必要のあるタスクが多数あるため、特定の操作の正確な進行状況を反映していない可能性があります。たとえば、次のエラーが表示され続ける場合があります 一部のプログラムで開いたファイルが閉じられました: 使用中のファイル。ファイルが別のプログラムで開かれているため、アクションを完了できません フォルダに関してもこのエラーが発生する場合があります。 再起動する必要があるため、これは非常に煩わしいと感じるかもしれません。

  2. 修正:ファイルが別のプログラムで開かれている

    「ファイルは別のプログラムで開いています」というエラーは、ファイルに対して操作を実行すると発生しますが、ファイルが別のプログラムによってアクセスされているため、そのファイルに対してタスクまたは操作を実行できません。これは非常に基本的な原則であり、非常に長い間コンピューティングに使用されてきました。これは主に、データの不整合を減らすために行われます。 ただし、ファイルがコンピュータ上のどのアプリケーションでも使用されていない場合、これは厄介なエラーになる可能性があります。アプリケーションが非表示のサービスによって使用されているか、操作を実行できないバグがある可能性があります。私たちはあなたが従