cig*_*ien 7 c++ encoding ascii
我想编写以下函数:
int char_index(char c)
{
if (is_ascii<char>)
return c - 'A';
else
return c == 'A' ? 0 :
c == 'B' ? 1 :
// ...
}
Run Code Online (Sandbox Code Playgroud)
有没有像一个函数is_ascii的std?我正在想象一些类似的东西std::numeric_limits<T>::is_iec559,说明某些浮点类型是否T满足 IEE 754 标准的要求。
我想我可以is_ascii用类似if (65 == 'A' && ...)枚举整个 ASCII 字符集的东西来实现自己,并将它们与int表示进行比较,但这很烦人。另外,我不确定如何检查不可打印的字符,例如SOH(标题开头)等。
甚至可以在用户代码中编写这个函数,还是我必须依靠实现来提供这样的函数?
Rem*_*eau -3
无需专门检查 ASCII。您真正感兴趣的是在连续的字母字母表中获取索引,您可以让语言为您处理该索引:
int char_index(char c)
{
if (c >= 'A' && c <= 'Z')
return c - 'A';
return -1;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
507 次 |
| 最近记录: |