我有一个由 cin
填充的字符数组,但我试图找到一种方法来单独检查每个字符以确保它只是一组字符中的一个 (a-z,A-Z,0 -9,[空格]).
我认为最简单的方法是检查字符的代码是否在某个范围内。但不确定如何获得它。
或者,如果有人知道任何其他方法,那就太好了。
最佳答案
最简单的方法是使用isalpha()
、isdigit()
或isalnum()
:
char ch = ... // The character
// Original solution
if (isalpha(ch) || isdigit(ch)){
}
// Better solution by fefe (see comments)
if (isalnum(ch)){
}
这些在 ctype.h
中定义:http://www.cplusplus.com/reference/clibrary/cctype/
否则你也可以使用比较:
if ('a' <= ch && ch <= 'z' ||
'A' <= ch && ch <= 'Z' ||
'0' <= ch && ch <= '9'
){
}
后一种使用比较的方法将推广到任意范围。
关于c++ - 从 char 获取字符代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8272597/