我有这样的事情。问题是字符串必须只是字母,我该怎么做?我现在已经坐了几个小时,找不到任何有效的解决方案。我已尝试使用此主题的答案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;
}
答案 0 :(得分:1)
您需要添加验证码。对于简单的情况,你可以这样做 类似的东西:
if ( std::find_if( line.begin(),
line.end(),
[]( unsigned char ch ) { return !isalpha( ch ); }
) != line.end() ) {
// not all letters
}
(这实际上只适用于学校项目,并且赢了 适用于通常的网络编码,UTF-8。)