请教一下大家。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct sp
{
char pinming[20];
char guige[12];
long shuliang;
float danjia;
};
int main(void)
{
int flag=1;
char pinming[20];
struct sp shangpin;
FILE *fp;
printf("Please input shang pin ming:");
scanf("%s",pinming);
printf("\n");
printf("cha zao qing kuang:\n");
fp=fopen("c:\\sp.txt","r");
if(fp==NULL)
{
printf("can not open file\n");
exit(1);
}
while(fscanf(fp,"%s %s %f %ld", shangpin.pinming, shangpin.guige, &shangpin.danjia, &shangpin.shuliang) == 4);
{
if(strcmp(shangpin.pinming,pinming)==0)
{
printf("%s,%s,%ld,%.2f\n",shangpin.pinming,shangpin.guige,shangpin.shuliang,shangpin.danjia);
flag=0;
}
}
if(flag==1)
{
printf("mei you shangpin xing xi guanyu %s\n",pinming);
}
fclose(fp);
return(0);
}
请问下执行了这个函数的文件指针是在哪里的。
本来在输入栏输入xuebi的话会有3行结果的,但是现在确只有一行,我觉得是文件指针的错误吧。
那个txt是这样的。
xuebi da 6.00 345
nongfuSQxianchengduo zhongxingA 4.392 57398
xuebi xiao 2.004 4567
xuebi da 6.003 456
谢谢大家的帮助。
[解决办法]
多了。。
直接跑到最后一行了。。