查找文件中包含字符“a”作为最后一个字母的单词

时间:2014-12-12 19:22:19

标签: c++ filestream getline

ifstream input;
string filename="file.txt";
string word;

input.open(filename.c_str());
int len=word.length();

while(getline(input,word)) {

    if(word.at(len-1)='a') {
        cout<<word;
    }

}

当我执行它时,编译器发出运行时错误我不明白为什么?我想找到最后一个字符的单词&#39; a&#39;感谢

1 个答案:

答案 0 :(得分:2)

int len=word.length();应该在循环中。

目前,len0

您还有一个拼写错误=(分配)应该是==(测试是否相等)

顺便说一句,从C ++ 11开始,你可以使用word.back()。 你应该检查字符串是不是空的。

结果:

while (getline(input, word)) {
    if (!word.empty() && word.back() == 'a') {
        std::cout << word;
    }
}