程序出来有错,读取单词的。
帮忙改下错,程序运行有误。TXT文档内容For handing you a heart worth breaking从文件中读取单词,统计单词的个数,单词之间以空格、标点或换行符分隔。注意判断文件是否打开成功。单词为英文单词。
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int CountWords(string line) {
line = " " + line;
int len = line.size();
int num = 0;
for(int i = 1; i < line.size(); i++) {
if(line[i] >= 'a' && line[i] <= 'z' ) {
if(line[i-1] < 'a' || line[i-1] > 'z')
num++;
}
}
return num;
}
int main() {
int num = 0;
ifstream input;
input.open("word.txt");
string buff;
if(!input) {
cout << "文件打开失败:"<<endl;
return 0;
}
while(getline(input,buff)) {
num += CountWords(buff);
}
cout << num << endl;
return 0;
}