UNIX下c语言编程 字符串判断处理问题
开发环境在UNIX下
语言:C
数据库:oracle、sql语句
描述:
1、从数据库中检索出2列数据,分别为用户名和用户号
2、要求,用户号这一列只能是数字,不能有其他字符;而用户名这一列只能是汉字字符。
3、检索出的数据,逐条判断这两列,如果这一条记录中有一列不符合以上要求,则输出,否则继续
遇到问题:
检索出的这两列按字符串处理,对于这个字符串,怎么进行分析判断究竟包含了什么字符?另外,还要考虑执行效率,数据量比较大
举例:
王二 25978369 此条记录符合要求
王2* 25978369 此条记录不符合要求,姓名中包含了数字和特殊字符
王二 2 235%三 词条记录不符合要去,用户号中有空格、特殊字符和汉字
大过年的问问题,希望大家懂得给予帮助,谢谢
祝大家龙年幸福快乐
[解决办法]
1. 数字可以用isdigit判断
2. 汉字的判断,需要指明编码方式:
最简单的是GB2312第一个字节是范围是0xA1-0xF7, 第二个字节范围是0xA1-0xFE。
[解决办法]
if</\W\D\S\s\d+/>
[解决办法]