读书人

UNIX上c语言编程 字符串判断处理有关问

发布时间: 2012-10-27 10:42:26 作者: rapoo

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+/>
[解决办法]

探讨
引用:
导出到纯文本文件,用C处理。

//GBK汉字内码范围(不包括A1xx~A9xx的标点符号英文字母特殊符号等)
//区码 ,位码
//81-A0 ,40-7E 80-FE
//AA-AF ,40-7E 80-A0
//B0-D6 ,40-7E 80-FE
//D7 ,40-7E 80-F9
//D8-F7 ,40-7E 80-FE……

读书人网 >C语言

热点推荐