| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1141 人关注过本帖
标题:[求助]一个简单的头疼问题
取消只看楼主 加入收藏
见习小偷
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-3-15
收藏
 问题点数:0 回复次数:1 
[求助]一个简单的头疼问题

工作中遇到个问题比较烦人,希望高手能帮忙想个好算法!!不胜感激!
有一堆字符串,分别是:“42949672953” ,“ Ethernet3/1”, “ 00065800000”, “ 3687”, “ 45AD”, "53EF",、、、、、、、在很多很多这种数据堆中分捡出纯数字的串,和含有字母的串,要求是:不拆分字符进行比较运算!!(因为数据量超级大,这样效率狂低)(linux下C语言做),,,

搜索更多相关主题的帖子: 头疼 
2006-05-17 17:44
见习小偷
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-3-15
收藏
得分:0 
我们曾用这个方法测试过:
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("%d\n",atoi(argv[1]));
return 0;
}
运行如下:
[bl@ncview test]$ ./test 5456321
5456321
[bl@ncview test]$ ./test fsdfa3200
0
[bl@ncview test]$ ./test 123365594999
2147483647
[bl@ncview test]$ ./test 000325fda
325
根据纯数字和非纯数字 字串返回的结果差异,来分别取原串与结果串的长度进行比较的方法,1、纯数字返回长度与结果长度一致,2、带0的数字可以加上取零的个数来比较长度.3、含字母的串返回为0或返回数字,其长度小于结果。。按这样的思路本来可以解决,但问题正如第三条运行结果一样,较长的纯数字串有溢出(或许不是溢出),结果与源串长度不同,就算用atoll转换,%llu输出,照样不能得到与源串相同的串。。望高手指点一二,或有其它算法!!!!谢谢了!!
2006-05-17 18:32
快速回复:[求助]一个简单的头疼问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011370 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved