c++ - 从 char 获取字符代码

标签 c++ char

我有一个由 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/

相关文章:

c++ - 计算每行的空格

c++ - 从 C++ stringstream ostringstream 获取 char* 数组

c# - 无法将 List<char> 作为参数传递给 List<object>?

c++ - 抑制由于常量为零而导致比较始终为假的警告

C++ REST SDK 如何检查http地址是否无效

c++ - 如何将包含 double 的 std::string 转换为 double vector ?

c - 将 32 位 int 存储到 char 缓冲区

c - 在嵌入式C中,如何将 "Unsigned Char"形式的返回十六进制值转换为可用的 "Integer"类型

c++ - 指向(定义了指针数组)字符串的指针数组 : Are the strings stored sequential in memory?

c++ - WinXP下如何控制应用程序音量