比较一个字符与c ++中的各种字符类

mav*_*ick 0 c++ comparison character

问题是我想逐个比较字符串中的字符:对于每一个字符,它是否属于字母表; 它是小写还是大写.我怎么能这样做?

这很好,如果我想比较(+ - *^),就像没有标准功能.请帮助我

Ton*_*roy 5

#include <cctype>
#include <string>

...

for (std::string::const_iterator i = s.begin(); i != s.end(); ++i)
    if (std::isalpha(*i))
        handle_alphabetic_character(*i);
    else
        handle_non_alphabetic_character(*i);
Run Code Online (Sandbox Code Playgroud)

编辑新要求:

要在任意字符集中查找字符,您可以在其答案中使用str :: find()作为James MeNellis文档,或者只是...

#include <cstring>

for (std::string::const_iterator i = s.begin(); i != s.end(); ++i)
    if (std::strchr("*+{\\&", *i))
        handle_matching_character(*i);
    else
        handle_non_matching_character(*i);
Run Code Online (Sandbox Code Playgroud)