C++で単語の数を数える方法


方法1: ストリーム操作を使用する方法 この方法では、ファイルからテキストを読み込んでストリーム操作を使用して単語の数を数えます。

#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
int countWordsUsingStream(const std::string& filename) {
    std::ifstream file(filename);
    if (!file.is_open()) {
        std::cerr << "ファイルを開けませんでした。" << std::endl;
        return 0;
    }
    std::string word;
    int count = 0;
    while (file >> word) {
        count++;
    }
    file.close();
    return count;
}
int main() {
    std::string filename = "テキストファイル.txt";
    int wordCount = countWordsUsingStream(filename);
    std::cout << "単語の数: " << wordCount << std::endl;
    return 0;
}

方法2: 文字列分割を使用する方法 この方法では、文字列をスペースや句読点などの区切り文字で分割し、単語の数を数えます。

#include <iostream>
#include <string>
#include <vector>
int countWordsUsingStringSplit(const std::string& text) {
    std::vector<std::string> words;
    std::string word;
    std::stringstream ss(text);
    while (getline(ss, word, ' ')) {
        words.push_back(word);
    }
    return words.size();
}
int main() {
    std::string text = "テキストのサンプルです。";
    int wordCount = countWordsUsingStringSplit(text);
    std::cout << "単語の数: " << wordCount << std::endl;
    return 0;
}

これらはC++で単語の数を数える方法の一部です。他にも正規表現や外部ライブラリを使用する方法もあります。使用するデータや要件に応じて、適切な方法を選択してください。