C++ を使ったファイル内の文字数のカウント

C++C++Beginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、C++ プログラミングを使ってファイル内の文字の出現回数を数える方法を学びます。ファイルを読み取り、特定の文字がファイル内で何回出現するかを数える C++ プログラムを作成します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"]) cpp/BasicsGroup -.-> cpp/variables("Variables") cpp/BasicsGroup -.-> cpp/data_types("Data Types") cpp/BasicsGroup -.-> cpp/strings("Strings") cpp/ControlFlowGroup -.-> cpp/conditions("Conditions") cpp/ControlFlowGroup -.-> cpp/while_loop("While Loop") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/files("Files") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting") subgraph Lab Skills cpp/variables -.-> lab-96159{{"C++ を使ったファイル内の文字数のカウント"}} cpp/data_types -.-> lab-96159{{"C++ を使ったファイル内の文字数のカウント"}} cpp/strings -.-> lab-96159{{"C++ を使ったファイル内の文字数のカウント"}} cpp/conditions -.-> lab-96159{{"C++ を使ったファイル内の文字数のカウント"}} cpp/while_loop -.-> lab-96159{{"C++ を使ったファイル内の文字数のカウント"}} cpp/output -.-> lab-96159{{"C++ を使ったファイル内の文字数のカウント"}} cpp/files -.-> lab-96159{{"C++ を使ったファイル内の文字数のカウント"}} cpp/code_formatting -.-> lab-96159{{"C++ を使ったファイル内の文字数のカウント"}} end

ファイルを作成する

まず、中にいくつかのテキストが含まれるファイルを作成する必要があります。~/project ディレクトリに example.txt という名前のファイルを作成し、その中にいくつかのテキストを書き込みましょう。このために、ターミナルで次のコマンドを実行します。

echo -e "This is an example file\nIt contains some text" > ~/project/example.txt

ヘッダーファイルをインクルードする

このステップでは、必要なヘッダーファイル iostreamfstream をインクルードします。入出力操作には iostream が必要であり、ファイル操作には fstream が必要です。~/project ディレクトリに新しいファイル main.cpp を作成し、テキストエディタで開きます。

#include <iostream>
#include <fstream>
using namespace std;

変数を定義する

このステップでは、入力ファイル用の変数 filename と、プログラムが読み取っている現在の文字を格納するための ch と、ファイル内の文字の出現回数を数えるための count を定義します。

string filename = "example.txt";
char ch;
int count = 0;

入力ファイルを開いて読み込む

このステップでは、入力ファイル example.txt を読み取りモードで開くための ifstream オブジェクトを作成します。その後、while ループを使用してファイルを1文字ずつ読み取ります。get() 関数を使用して、ファイルから1文字ずつ読み取ります。読み取った文字がカウントしたい文字と一致するかどうかを確認します。現在の文字が一致する場合、count 変数をインクリメントします。

ifstream fin(filename,ios::in);

while(fin.get(ch)){
    if(ch == 'e')
        count++;
}

結果を表示する

このステップでは、ファイル内に文字が出現する回数を表示します。また、入力ファイルを閉じます。

cout << "The number of times 'e' appears in file is: " << count;
fin.close();

プログラムをコンパイルして実行する

このステップでは、C++ プログラムをコンパイルして実行して、ファイル内の文字の出現回数を数えます。ターミナルを開き、~/project ディレクトリに移動し、次のコマンドを実行します。

g++ main.cpp -o main && ./main

これにより、main.cpp ファイルがコンパイルされて実行されます。出力には、ファイル内の文字の出現回数が表示されます。

main.cpp ファイルの最終コードは次のとおりです。

#include <iostream>
#include <fstream>
using namespace std;

int main(){
    string filename = "example.txt";
    char ch;
    int count = 0;

    ifstream fin(filename,ios::in);

    while(fin.get(ch)){
        if(ch == 'e')
            count++;
    }

    cout << "The number of times 'e' appears in file is: " << count;
    fin.close();

    return 0;
}

まとめ

この実験では、C++ プログラミングを使って特定の文字がファイル内に何回出現するかを数える方法を学びました。ifstream オブジェクトを使ってファイルを1文字ずつ読み取り、必要な文字の出現回数を数えました。また、コンソールに結果を表示しました。