65,189
社区成员




#include <stdio.h>
#include <string.h>
void extract(char *str)
{
char *s=str;
char word[64]={0},wbuf[8][32]={0};//wbuf存储路径字符串
int i=0,begin=0,sbegin=0,wcount=-1;
while(*s!='\0')
{
if(*s=='>')
{
word[i++]=*s++;
word[i]=0;
i=0;
if(strcmp(word,"<FILES>")==0)
{
wcount++;
}
if(strcmp(word,"<FILEPATH>")==0)
{
begin++;
}
}
else if(*s=='<' && i>0)
{
word[i]=0;
if(begin)
{
strcat(wbuf[wcount],word);
strcat(wbuf[wcount],",");
begin--;
}
i=0;
}
word[i++]=*s++;
}
for(i=0;i<=wcount;++i)
{
puts(wbuf[i]);
}
}
int main(void)
{
char *buf="<INPUT><FILES><FILE><FILEPATH>C:/1.txt</FILEPATH>"
"<TIMEOUT>300</TIMEOUT></FILE><FILE><FILEPATH>C:/2.txt"
"</FILEPATH><TIMEOUT>500</TIMEOUT></FILE></FILES>"
"<FILES><FILE><FILEPATH>C:/3.txt</FILEPATH>"
"<TIMEOUT>300</TIMEOUT></FILE><FILE><FILEPATH>C:/4.txt"
"</FILEPATH><TIMEOUT>500</TIMEOUT></FILE></FILES>";
extract(buf);
getchar();
return 0;
}