파일이름 <stdb.c>

1 #include <stdio.h>
  2 #include <stdlib.h>
  3 #include <unistd.h>
  4 #include <fcntl.h>
  5
  6 #include "student.h"
  7
  8 int main(int argc, char *argv[])
  9 {
 10         int fd, id;
 11         char c;
 12         struct student rec;
 13         if (argc < 2) {
 14                 fprintf(stderr,"instruction : %s file\n", argv[0]);
 15                 exit(1);
 16         }
 17         if ((fd = open(argv[1],O_RDONLY)) == -1) {
 18                 perror(argv[1]);
 19                 exit(2);
 20         }
 21
 22         do {
 23         printf("\n do you want search a studebt id: ");
 24         if (scanf("%d", &id) == 1) {
 25                 lseek(fd,(id-START_ID)*sizeof(rec), SEEK_SET);
 26         if ((read(fd, (char *) &rec, sizeof(rec)) > 0 && (rec.id != 0)))
 27         printf("name:%s\t id:%d\t score:%d\n",rec.name, rec.id, rec.score);
 28
 29         else
 30         printf("record %d not here\n",id);
 31         } else printf("input error\n");
 32         printf("cotinue?\n (y/n) \n");
 33         scanf(" %c", &c);
 34         } while (c=='y');
 35         close(fd);
 36         exit(0);
 37 }




리눅스 gcc 컴파이을 이용해서 하는건데여.

제가 이걸보고 쓰는방법이 

gcc -o main stdb.c 라고 한다음,

파일을 하나 만들어서 이름을 stdb1 이런식으로 지으고

내용을

2019123456 

김개붕 

85

이라고 만들고 

./main stdb1

하면 

입력할 id?: 2019123456 해도 못찾네요. 제가 저 코딩을 잘이해를 못한거같은데 고수님들 좀 도와주셍