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

ファイル内の文字、行、単語数をカウントするCプログラム


ファイルはディスク上の物理的な保存場所であり、ディレクトリはファイルを整理するために使用される論理パスです。ディレクトリ内にファイルが存在します。

ファイルに対して実行できる3つの操作は次のとおりです-

  • ファイルを開きます。
  • ファイルを処理します(読み取り、書き込み、変更)。
  • ファイルを保存して閉じます。

以下に示す例を考えてみましょう-

  • ファイルを書き込みモードで開きます。
  • ファイルにステートメントを入力します。

入力 ファイルは次のとおりです-

Hi welcome to my world
This is C programming tutorial
From tutorials Point

出力 次のとおりです-

Number of characters = 72

Total words = 13

Total lines = 3

プログラム

以下は、ファイル内の文字、行、単語数を数えるためのCプログラムです。 −

#include <stdio.h>
#include <stdlib.h>
int main(){
   FILE * file;
   char path[100];
   char ch;
   int characters, words, lines;
   file=fopen("counting.txt","w");
   printf("enter the text.press cntrl Z:\n");
   while((ch = getchar())!=EOF){
      putc(ch,file);
   }
   fclose(file);
   printf("Enter source file path: ");
   scanf("%s", path);
   file = fopen(path, "r");
   if (file == NULL){
      printf("\nUnable to open file.\n");
      exit(EXIT_FAILURE);
   }
   characters = words = lines = 0;
   while ((ch = fgetc(file)) != EOF){
      characters++;
   if (ch == '\n' || ch == '\0')
      lines++;
   if (ch == ' ' || ch == '\t' || ch == '\n' || ch == '\0')
      words++;
   }
   if (characters > 0){
      words++;
      lines++;
   }
   printf("\n");
   printf("Total characters = %d\n", characters);
   printf("Total words = %d\n", words);
   printf("Total lines = %d\n", lines);
   fclose(file);
   return 0;
}

出力

上記のプログラムを実行すると、次の結果が得られます-

enter the text.press cntrl Z:
Hi welcome to Tutorials Point
C programming Articles
Best tutorial In the world
Try to have look on it
All The Best
^Z
Enter source file path: counting.txt

Total characters = 116
Total words = 23
Total lines = 6
>
  1. 与えられた数を単語に変換するCプログラム

    数値で構成される文字列が与えられた場合、タスクはそれらの与えられた数値を単語で隠すことです。 入力「361​​」があるように。その場合、出力は「三百六十一」という言葉である必要があります。次の問題を解決するには、1、数万、数千などの数と場所を覚えておく必要があります。 コードは最大4桁の数字、つまり0〜9999のみをサポートします。したがって、入力は0〜9999である必要があります。 場所が-のようになるように1,111を考えてみましょう 例 Input: “1234” Output: one thousand two hundred thirty four

  2. Pythonで各ブラケットの深さの文字数をカウントするプログラム

    「X」、「(」、および「)」の3文字のみで構成される文字列sがあるとします。文字列にはバランスの取れた角かっこがあり、いくつかの「X」の間に入れ子になった角かっこが再帰的に存在する可能性があります。ブラケットの各深さで、最も浅い深さから最も深い深さまで、「X」の数を見つける必要があります。 したがって、入力がs =(XXX(X(XX))XX)のような場合、出力は[5、1、2]になります。 これを解決するには、次の手順に従います- 深さ:=-1 out:=新しいリスト sの各cについて、 cが(と同じ場合、 深さ:=深さ+ 1 それ以外の場合、cが )と同じ場合、 深度