我收回来的是一个长的字符串“@00RD0001000200030004…0025*\r”,字符串间是一串4位的数据,从“0001”到“0025”共有25个数据,我现在是想把这个字符串里面的数据提取出来,从字符串的第5个开始,然后4个4个地提取,如第一个提取出来的是“0001”,第二个是“0002”直到第25个“0025”到*就结束。
请教高手,有什么好的方法或建议?在下感激不尽!!!
请教高手,有什么好的方法或建议?在下感激不尽!!!
>> 本文固定链接: http://www.vcgood.com/archives/2853
>> 转载请注明: zhangyanjin 2008年10月22日 于 C语言帝国 发表
你可以试试sscanf()函数
先谢了!!!我试下先。
#include<stdio.h>
viod main()
{int i,j;
char str[];
str[]=”@00R—0025*\r” (这里要自己把数字输入吗?)
for(i=5;i<100;i++)
for(j=i;j<i+3;j++)
{printf(“%c”,str[]);
putchar(“\n”);
}
}
你自己试试吧!看看能不能运行得如你所愿?以后把题写清楚点吧!
谢谢xiaoli了!这个问题刚刚解决了。以后有问题一定把问题表达清楚。
那我的程序是否可用呢!?
如不可用,请原谅!
待你回复!
s为长字符串,
s+=5
for (i = 0; i < 25; i++, s += 4)
if (sscanf(s, “%4d”, &a[i]) != 1)
break;
我觉得这个简洁好用就试了,不好意思,你的我没试。