도서관리 프로그램 중에 회원가입 부분 만들고 있는데요..
해까닥
질문 제목 :도서관리 프로그램 중에 회원가입부분을 만들고 있는데id 부분이 파일에 저장될때 이상하게 저장이 됩니다.질문 요약 :id가 파일에 저장될때 의도와는다르게 저장이 되요질문 내용 :문제가 되고 있는 코드 부분입니다.
#includestdio.h
typedef struct client{
int id;
char password[15];
char name[15];
char address[50];
char phone[15];
}
void join(void)
{
client cl;
file *ofp_client = fopen(client.txt, a);
printf(\n회원가입\n);
printf(학번, 비밀번호, 이름, 주소, 전화번호를 입력하세요.\n\n);
printf(학번: );
scanf(%d, &cl.id);
getchar();
printf(비밀번호 : );
scanf(%s, cl.password);
getchar();
printf(이름 : );
scanf(%s, cl.name);
getchar();
printf(주소 : );
scanf(%[^\n], cl.address);
getchar();
printf(전화번호 : );
scanf(%s, cl.phone);
getchar();
if(find_client(&cl.id) == 1)
{
printf(\n이미 등록되어 있는 학번입니다.\n\n);
main();
}
else
{
fprintf(ofp_client, %d|%s|%s|%s|%s, &cl.id, cl.password, cl.name, cl.address, cl.phone);
printf(\n회원가입이 되셨습니다.\n);
fclose(ofp_client);
main();
}
}
형광펜 칠해논 부분에서 %s부분은 제대로 파일에 들어가는데
%d는 예를들어 20110000이렇게 넣으면
파일을 열어보면 2080432 이런식으로 저장이 되어버립니다.
어디가 틀렷는지 잘 모르겟어요!