テキストファイル内の英数字の数を数えるプログラムを作成しました。ただし、返される数は、オンライン文字カウンターが返す数よりも常に大きくなります。
たとえば、プログラムはこのテキストの英数字の数を計算します。
これらの人々が奇妙な流行を持っていて、最も異常な問題に従順であると期待した場合、彼らは少なくとも彼らの偏心の代償を払う準備ができていました
プログラムを再度実行すると、テキストに164文字が含まれていることがわかります。もう一度実行すると、156文字あると表示されます。このオンライン文字カウンターを使用すると、文字数は144より少なくなるはずです(オンライン文字カウンターにはスペースも含まれます)。
コードは次のとおりです。
#include <iostream>
#include <fstream>
#include <cctype>
using namespace std;
int main() {
char line[100];
int charcount = 0;
ifstream file("pg1661sample.txt");
while (!file.eof()) {
file.getline(line, 99);
for (int i = 0; i < 100; i++) {
if (isalnum(line[i])) {
charcount++;
}
}
}
cout << endl << "Alphanumeric character count: " << charcount;
cin.get();
return 0;
}
私は何が間違っているのですか?