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

Cプログラム自体の印刷元


与えられたタスクは、書かれたCプログラム自体を印刷することです。

自分自身を印刷するCプログラムを作成する必要があります。したがって、Cのファイルシステムを使用して、「コード1.c」ファイルでコードを記述しているように、コードを記述しているファイルの内容を印刷できます。したがって、ファイルを読み取りモードで開いて読み取ります。ファイルのすべての内容を出力画面に出力します。

ただし、読み取りモードでファイルを開く前に、コードを書き込んでいるファイルの名前を知っておく必要があります。したがって、マクロであり、デフォルトで現在のファイルのパスを返す「__FILE__」を使用できます。

マクロ「__FILE__」の例

#include<stdio.h>
int main() {
   printf(“%s”, __FILE__);
}

上記のプログラムは、コードが記述されているファイルのソースを出力します

マクロ__FILE__は、このマクロが言及されている現在のプログラムのパスを含む文字列を返します。

したがって、ファイルシステムにマージして、コードが読み取りモードになっている現在のファイルを開くと、次のようになります-

fopen(__ FILE __、“ r”);

アルゴリズム

Start
Step 1-> In function int main(void)
   Declare a character c
   Open a FILE “file” “__FILE__” in read mode
   Loop do-while c != End Of File
      Set c = fgetc(file)
      putchar(c)
   Close the file “file”
Stop

#include <stdio.h>
int main(void) {
   // to print the source code
   char c;
   // __FILE__ gets the location
   // of the current C program file
   FILE *file = fopen(__FILE__, "r");
   do {
      //printing the contents
      //of the file
      c = fgetc(file);
      putchar(c);
   }
   while (c != EOF);
   fclose(file);
   return 0;
}

出力

#include <stdio.h>
int main(void) {
   // to print the source code
   char c;
   // __FILE__ gets the location
   // of the current C program file
   FILE *file = fopen(__FILE__, "r");
   do {
      //printing the contents
      //of the file
      c = fgetc(file);
      putchar(c);
   }
   while (c != EOF);
   fclose(file);
   return 0;
}

  1. ファイルは有効な32ビットアプリケーションではありません

    実行しようとしているプログラムが破損しているか、欠落しているという問題が発生している可能性があります。この場合、Windowsはファイルを正しく実行できないため、オペレーティングシステムはエラーを生成します–ファイルは有効な32ビットアプリケーションではありません 。 エラーは通常、実行可能ファイルが有効な32ビットアプリケーションではないことに関するものであるため、すぐに大きな問題があることは明らかです。ただし、物事を正しい軌道に戻す方法があるので、心配する必要はありません。 つまりね;プログラムのダウンロード中に、実行可能ファイルが破損した可能性があります。ダウンロードが完了しな

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

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