C ++字符串只有字母

时间:2014-06-18 17:19:37

标签: c++

我有这样的事情。问题是字符串必须只是字母,我该怎么做?我现在已经坐了几个小时,找不到任何有效的解决方案。我已尝试使用此主题的答案Accept only letters,但我想我太愚蠢但仍无法使其发挥作用:(

#include <string>
#include <vector>
#include <iostream>
#include <iterator>
#include <algorithm>


using namespace std;

int main(void)
{
vector <string> strings;
string line;

do

{
cout << "enter string, 'stop' stops: ";
cin >> line;
strings.push_back(line);
}

while (line != "stop");

vector <string> :: iterator w;
cout << "Before sorting \n";
for (w=strings.begin(); w!=strings.end(); w++)
cout << *w << endl;

sort (strings.begin(),strings.end());
cout << "After sorting \n";
for (w=strings.begin(); w!=strings.end(); w++)

cout << *w << endl;

}

1 个答案:

答案 0 :(得分:1)

您需要添加验证码。对于简单的情况,你可以这样做 类似的东西:

if ( std::find_if( line.begin(),
                   line.end(),
                   []( unsigned char ch ) { return !isalpha( ch ); }
        ) != line.end() ) {
    //  not all letters
}

(这实际上只适用于学校项目,并且赢了 适用于通常的网络编码,UTF-8。)