시스템 프로그래밍 관련해서 질문 좀 할게요..
글쓴이: PineTree514 / 작성시간: 월, 2013/04/01 - 7:18오후
int main(void)
{
int fd;
struct namecard card;
char buf[MAXLEN];
int i;
fd = open("mynamecard", O_RDONLY, 0644);
if (fd == -1)
{
printf("Error: cannot open\n");
exit(1);
}
do
{
printf("\n");
printf("Enter i: ");
gets(buf);
i = atoi(buf);
lseek(fd, i*sizeof(struct namecard), SEEK_SET);
read(fd, &card, sizeof(struct namecard));
printf("Name: %s\n", card.name);
printf("phone number: %s\n", card.phone);
printf("Continue (y/n)? ");
gets(buf);
} while (!strcmp(buf,"y") || !strcmp(buf,"Y"));
close(fd);
}i값을 입력 받아서 저장된 명함의 수보다 크면 다시 입력 받도록
수정을 해야 되는데 머리를 싸매고 해도 제 실력으론 부족하네요.
힌트라도 주시면 감사하겠습니다. 꾸벅
Forums:


여러가지 방법이 있을수 있겠네요 파일에 struct
여러가지 방법이 있을수 있겠네요
파일에 struct namecard만 존재 하는 것이 아닌
첫 4바이트는 갯수를 저장 할 수도 있고
파일의 형식을 바꾸지 않는다면
파일의 사이즈를 읽어와 갯수를 추측해낼수도 있겟네요
답변 감사합니다
답변 감사합니다
변명은 하지 않겠습니다.
댓글 달기