sscanf问题,提取不到想要的数据

Pthinker 2009-05-31 10:34:11
使用sscanf出现的问题,一直没有解决,如下:

一个字符串是以空格分开的数字,举例:213 123 324 325 234 234 234 0 0 0

我是通过读取LINUX系统的文件/proc/stat的第一行得到的这行字符串,用sscanf提取其中的前7个数字数据

假设变量buff中存放字符串

sscanf(buff, "%d %d %d %d %d %d %d",&num1, &num2, &num3, &num4, &num5, &num6, &num7);

用上面的方法读取,num1,num3, nunm5, num7中分别对应原字符串中的位置1,2,3,4的数字,而num2,num4,num6中是0

不知道什么原因,请大家帮忙,谢谢!

...全文
251 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
draculamx 2009-05-31
  • 打赏
  • 举报
回复
%d和%d之间不留空格,你输入的时候数据与数据之间空一个格,就可以了
Pthinker 2009-05-31
  • 打赏
  • 举报
回复
buff就是/proc/stat第一行的内容,去掉前面的cpu

不带空格和带空格我试了都不行
liliangbao 2009-05-31
  • 打赏
  • 举报
回复
sscanf(buff, "%d%d%d%d%d%d%d",&num1, &num2, &num3, &num4, &num5, &num6, &num7);
测试,没有问题~
你的buff是什么呢,你确认一下~
fllwt 2009-05-31
  • 打赏
  • 举报
回复
感觉是两个数字之间的格式可能不只是一个空格
lpf000 2009-05-31
  • 打赏
  • 举报
回复
sscanf(buff, "%d%d%d%d%d%d%d",&num1, &num2, &num3, &num4, &num5, &num6, &num7);
中间不留空格看看
goodname 2009-05-31
  • 打赏
  • 举报
回复
俺也不知道啥原因.

你自己写个小程序,试一把看看行不行。
光宇广贞 2009-05-31
  • 打赏
  • 举报
回复
顶四楼和六楼的判断

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧