| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1874 人关注过本帖, 1 人收藏
标题:长字符串提取的问题
只看楼主 加入收藏
zhangyanjin
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-10-16
收藏
得分:0 
真是非常感谢!!我一直不知道怎么去用好for语句来简化语句,看来要好好下功夫才行了。
多谢各位的帮忙!!!
2008-10-23 10:08
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1692
专家分:4282
注 册:2007-12-27
收藏
得分:0 
[bo][un]StarWing83[/un] 在 2008-10-23 09:49 的发言:[/bo]

LS:
为什么不能这样呢?

int i, a[25];
for (i = 0;
         i < 25 && sscanf(s, "%4d", &a) == 1;
         i++)
     s += 4;

省去了复制的操作,而且做了错误处理,判断i的值可以知道是否读取成功。 ...


说实话,我要是自己用,我就象你这样做
可是给别人解释的时候,有过教训,所以为了不会引起更多的提问,我宁可那样写
我承认出发点是自私的,呵呵

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2008-10-23 11:44
zhangyanjin
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-10-16
收藏
得分:0 
长字符串提取的问题
还有一个问题想请教大家,我现在发现我在通信过程中收回来的是长字符串,跟我前面讲的一样,但数据不是从0001到0025之类的十进制数,而是十六进制数,如“@00RD0000001000B000C……0025”,从第7个开始,我现在想把它4个4个提出(以4个字符串形式,不知道还有没其它好方法?)然后在转换成十六进制,我编了好久,就是调试不出结果来,还请大家帮帮忙。
在下感激不尽!!!

[[it] 本帖最后由 zhangyanjin 于 2008-11-11 16:12 编辑 [/it]]
2008-11-11 10:36
zhangyanjin
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-10-16
收藏
得分:0 
请高手指点呐,上面的问题我调了很久调不出来。
在此先谢了!!!
2008-11-11 16:29
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
s += 7;
for (i = 0; i < 25; i++, s += 4)
    if (sscanf(s, "%4x", &a[i]) != 1)
        break;

s += 7 是为了从第七个开始读。
%4d改成%4x是为了读16进制数字。

LZ基础知识要学好啊…………

最近好久没有来了。回帖不及时请见谅……

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-11-22 04:30
快速回复:长字符串提取的问题
数据加载中...
 
   



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

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