LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1555|回复: 21

请教一个字符串解析问题

[复制链接]
发表于 2005-5-8 10:59:08 | 显示全部楼层 |阅读模式
char *Buff = "eth0:27822742  294059    0    0    0     0          0         0  6416815";
请问怎样把Buff里的各个字段解析出来。
发表于 2005-5-8 11:22:13 | 显示全部楼层
你如何区分各个字段,以空格? 还是冒号,或者是某个数字?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-8 11:24:37 | 显示全部楼层
第一二个之间是冒号,后面的都是以空格区分!
eth0是个字符串,后面的都是长整型
回复 支持 反对

使用道具 举报

发表于 2005-5-8 14:56:30 | 显示全部楼层
man strtok
回复 支持 反对

使用道具 举报

发表于 2005-5-8 15:08:16 | 显示全部楼层
or strcspn
其实,这么简单的应用自己把字符串扫一遍就完了。
回复 支持 反对

使用道具 举报

发表于 2005-5-8 15:09:48 | 显示全部楼层
如果你知道字符串里有多少个字段,只是不知道具体数值,用sscanf就可以了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-8 15:25:52 | 显示全部楼层
我用了sscanf,后面的都是行的,好像sscanf默认空格为分隔符,只是前面的冒号我不知道怎么解析。再用你们说的方法试试!
回复 支持 反对

使用道具 举报

发表于 2005-5-8 15:59:36 | 显示全部楼层
strtok啊,靠,上午的帖子没有发出来?
晕!
回复 支持 反对

使用道具 举报

发表于 2005-5-8 16:10:49 | 显示全部楼层
Post by haohao_h
我用了sscanf,后面的都是行的,好像sscanf默认空格为分隔符,只是前面的冒号我不知道怎么解析。再用你们说的方法试试!

sscanf有分隔符之说吗?
回复 支持 反对

使用道具 举报

发表于 2005-5-9 10:42:59 | 显示全部楼层
Post by kiron
sscanf有分隔符之说吗?

scanf是以空格,制表符,换行符作为分隔符的。格式字符串中的一个空格可能相当于多个输入的空格、制表符或换行符。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表