下面的代码想要获取一个字符串并仅输出英文字母表中的小写字母。
string simplifyString(string word)
{
word.erase(remove_if(word.begin(), word.end(), [](char letter){return !isalpha(letter);}));
transform(word.begin(), word.end(), word.begin(), tolower);
return word;
}
int main()
{
string s = "a.b.c.d.e.f.g.h.";
cout << simplifyString(s) << endl;;
return 0;
}
输出为:abcdefgh.fgh
所以代码工作,然后停止工作。到底他妈发生了什么?