도서관리프로그램을 짜는중인데요
파일에
이런식의 데이터를 넣고
char chk[10];
char name[20];
char add[20];
char line[50];
fp = fopen("data.txt","r");
char sel[10];
printf("\t\t회원 번호를 입력하세요 : ");
scanf("%s",sel);
while(!feof(fp)){
memset(&line[0],0,sizeof(0));
fgets(line,50,fp);
if(strstr(line,sel)!=NULL)
{
fscanf(fp,"%s %s %s",chk,name,add);
printf("\t\t----------------------------\n");
printf("\t\t회원을 찾았습니다.\n");
printf("\t\t----------------------------\n");
printf("\t\t회원 이름 : %s\n",name);
printf("\t\t회원 번호 : %s\n",chk);
printf("\t\t회원 주소 : %s\n",add);
printf("\t\t----------------------------\n");
fprintf(fp,"\n");
}
else
fprintf(fp,"\n");
}
이러한 코드를 실행했는데
제가 생각하기로는
fgets로 line배열에 그 줄에 해당하는 값들을 가져온다음에
strstr 로 sel을 가지고 있는 해당 라인의 주소값을 반환해서
원하는 값들을 출력할 수 있다고 생각하는데요
예를들어 2를 입력받았다고 하면
2 2 2 와
2 4 4 가 출력되야되는데
1 3 3 이 출력되네요
어디서 문제가 잇는걸까요