허접한 질문 드립니다.
글쓴이: redpig / 작성시간: 월, 2004/01/05 - 4:07오후
이제 c언어를 공부한지 얼마 안되서 허접한 질문 하나 드립니다.
char *id, *name; FILE *fp; fp=fopen("log","a"); fprintf(fp,"%s : %s\n",id,name); fclose(fp);
이렇게 id와 name값을 stdin에서 받아서 log라는 파일에 기록하는 프로그램이 있는데..
여기서 id와 name값이 이미 log파일에 이전에 기록된 거면 저 fprintf문을 건너 뛸려고 합니다.
id와 name을 모두 비교할려고 하는데 잘 몰라서 일단 다음과 같이 id만 비교하는 루틴을 넣고 해봤는데 잘 안되네요..
fp=fopen("log","a"); while(!feof(fp)) { if(strstr(fp,id)==NULL) { fprintf(....); } } fclose(fp);
어떻게 하면 될까요?
Forums:
비교검사루틴을 넣으면 되지요.
비교검사루틴을 넣으면 되지요.
Not to be an ASSHOLE~
이렇게 하세요
char *id, *name, *cid, *cname;
FILE *fp;
int flag;
fp=fopen("log","a");
while(!feof(fp)){
fscanf(fp, "%s : %s\n", &cid, &cname);
if(!strcmp(cid, id) && !strcmp(cname, name)) flag = 0;
else flag = 1;
}
if(flag==1) fprintf(fp,"%s : %s\n",id,name);
fclose(fp);
힘내세요.
댓글 달기