5.1节日都奉献给 BC3.1了 困扰了几天 的字符串 指针问题
初学 C++
原文 FILES.txt
Name apple:18 [china]
Format Sex
Name []
Format Sex
Name Lin:22 [TW]
Format Sex
我要找出 apple 和 lin 的年龄 并付给变量
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char *Fs(char *s,char *s1)
{
char *rs=NULL;
if(strstr(s,s1)!=NULL)
{
rs=strtok(s,s1);
}
return 0;
}
main()
{
char *t1=NULL;
char *t2=NULL;
char *ss="c:\\FILES.txt";
FILE *fp;
if((fp = fopen(flPath,"r+")) == NULL)
{
printf("File Not Found \n");
help();
}
else
{
while(!feof(fp))
{
char *lstr=fgets(lstr,256,fp);
if(strstr(lstr,"Desc ")!=NULL)
{
t1=Fs(lstr,"apple");
t2=Fs(lstr,"Lin");
}
}
}
printf("%s --- %s",t1,t2);
return 0;
}
运行结果
Lin Lin
问题
正确应该是要返回
apple:18 Lin:22
但是 运行的结果 总是最后一个循环的值 不知道为什么