c++中数字字符和字母字符之间的字符比较
c++ character comparison between a number char and a letter char
我有一个名为tablolar的字符串变量,在这种情况下,它的值是"tablo2",根据我的意图,它不能进入if语句,但它进入,我找不到原因。
for(int z=0;z<tablolar.size();){
if((tablolar[z]==',')||(tablolar[z]=='a')||(tablolar[z]=='b')
||(tablolar[z]=='c')||(tablolar[z]=='d')||(tablolar[z]=='e')
||(tablolar[z]=='f')||(tablolar[z]=='g')||(tablolar[z]=='h')
||(tablolar[z]=='i')||(tablolar[z]=='j')||(tablolar[z]=='k')
||(tablolar[z]=='l')||(tablolar[z]=='m')||(tablolar[z]=='n')
||(tablolar[z]=='o')||(tablolar[z]=='p')||(tablolar[z]=='q')
||(tablolar[z]=='r')||(tablolar[z]=='s')||(tablolar[z]=='t')
||(tablolar[z]=='u')||(tablolar[z]=='v')||(tablolar[z]=='w')
||(tablolar[z]=='x')||(tablolar[z]=='y')||(tablolar[z]=='z')) {
//enters here but it must not enter
}
您的检查包括检查当前符号是't'
,如果字符串是'tablo2'
,它的第一个字符是't'
。
顺便说一下,这个检查可以简单得多:
if ((tablolar[z] == ',') || (tablolar[z] >= 'a' && tablolar[z] <= 'z'))
// do your work
相关文章:
- 使用.find函数在c++中查找字符和另一个字符之间的大小
- 函数签名与调用的函数不匹配,常量字符[]和字符*之间的区别?
- 相同字符之间的最小距离
- 常量字符 [] 和常量字符*之间的区别
- 字符* 和 std::字符串和常量字符*之间的转换
- 为什么常量字符[]和常量字符*之间的比较不同
- 字符* 和无符号字符* 之间不兼容
- 文件名如何在"char"和2字节字符之间工作
- 如何在多个不同字符之间获取多个字符串
- 如何从两个字符之间的文件中提取整数
- 删除两个字符之间的文本
- 在代表 UTF8 的有符号字符和无符号字符之间进行转换
- 在屏幕上拼接的字符之间创建空格 - SDL
- 参数表中字符 [N] 和字符 (&)[N] 之间的区别
- 从隐藏在随机字符之间的文件中提取整数
- 字符串中字符之间的空格
- 常量字符 [] 和字符 [] 之间的区别
- 将两个 '' 字符之间的子字符串提取到单独的数组中
- 为什么我不能在字符 * 和无符号字符 * 之间static_cast?
- 从 c++ 到 Java 行的命名管道连接,每个字符之间有空格