#include <stdio.h>
#include <string.h>
struct soccer
{
int no;
char name[20];
double a;
double b;
double c;
};
void main()
{
char array1[80];
char choice[10];
int i,distance=0,distance1;
struct soccer p[7];
double total[7]={0};
char* pointer;
FILE* stream1;
FILE* stream2;
stream1=fopen(\"score.txt\",\"r\");
stream2=fopen(\"copy.txt\",\"w\");
fseek(stream1,0,SEEK_END);
distance=ftell(stream1);
fseek(stream1,0,SEEK_SET);
for(i=0; feof(stream1)==0; i++)
{
fscanf(stream1, \"%d %s %lf %lf %lf\",&(p[i].no),p[i].name,&(p[i].a),&(p[i].b),&(p[i].c));
}
for(i=0; i<7; i++)
{
total[i]=p[i].a+p[i].b+p[i].c;
}
fseek(stream1,0,SEEK_SET);
for(i=0; i<7; i++)
{
fprintf(stream2,\"%d %s %.1lf\\n\",p[i].no,p[i].name,total[i]);
}
copy.txt에 그대로 저장됬는데여
////////////////////////////////////////아래에서 찾기가 안되네요.../////////////////////////////////////////////////
printf(\"찾으실 선수 번호를 입력해주십시오.\");
scanf(\"%s\",choice);
fflush(stdin);
fseek(stream2,0,SEEK_END);
distance1=ftell(stream2);
fseek(stream2,0,SEEK_END);
for(i=0; feof(stream2)==0; i++)
{
fgets(array1,distance1/7,stream2);
pointer=strstr(array1,choice);
if(pointer!=NULL) break;
}
fprintf(stdout, \"%s\",pointer);
fclose(stream1);
fclose(stream2);
}
결론은 소스를 쫌더 더럽게해서 늘리니깐 실행은 되네여... 님들 소스가 더러우면 알려줄 마음이 별로 안드나요??