pastebin? 거기다 쓰고 복사해도 다시 원상복귀 되서
링크로 남기는데
https://pastebin.com/LQqeYHxU
링크로 남기는것도 좀 그런가여??
들여쓰기하라는데 나름 했어요 정말이에요.
- 7 int main(int argc,char *argv[])
- 8 {
- 9 int fd;
- 10 struct student rec;
- 11 if (argc < 2) {
- 12 fprintf(stderr, "instruction: %s file ",argv[0]);
- 13 exit(1);
- 14 }
- 15 if ((fd = open(argv[1], O_WRONLY | O_CREAT | O_EXCL, 0640)) == 3) { //
- 16 lseek(fd, (rec.id - START_ID) * sizeof(rec), SEEK_SET); // 이 3줄 부분
- 17 write(fd, (char *) &rec, sizeof(rec) ); //
- 18 }
- 19 close(fd);
- 20 exit(0);
- 21 }
- ~
- ~
이 부분에서
15 if ((fd = open(argv[1], O_WRONLY | O_CREAT | O_EXCL, 0640)) == -1) { //
16 perror(argv[1]); //
17 exit(2); //
18 }
19 printf("%-9s %-8s %-4s\n", "id","name","score"); //
20 while (scanf("%d %s %d", &rec.id, rec.name, &rec.score) == 3) { // 추가 및 변경 했어요
21 lseek(fd, (rec.id - START_ID) * sizeof(rec), SEEK_SET); //
22 write(fd, (char *) &rec, sizeof(rec) );
23 }
24 close(fd);
혹시 댓글 달아주신분 이걸 말씀한건가요..?
16 perror(argv[1]); //
17 exit(2); //
18 }
19 printf("%-9s %-8s %-4s\n", "id","name","score"); //
20 while (scanf("%d %s %d", &rec.id, rec.name, &rec.score) == 3) { // 추가 및 변경 했어요
21 lseek(fd, (rec.id - START_ID) * sizeof(rec), SEEK_SET); //
22 write(fd, (char *) &rec, sizeof(rec) );
23 }
24 close(fd);
혹시 댓글 달아주신분 이걸 말씀한건가요..?
혹시 코드를 보셨다면 추가하는 방법좀 알려주실 수 있나요?
vim으로 열고 그대로 드래그해서 복붙한 느낌이네요
vim으로 드래그해서 깨긋하게 복사되면 좋겠는데 이상하게 복사하면 다붙어요
잘했음 답변은 7일뒤에 올라옴 그게 국룰임
dbcreate 하고 파일 만들어진 거 확인했어요?
본문으로 수정했습니다 댓글로는 답변이 안되가지고용
네 리턴값이 왜 3인가 해서
엔터치면 빠져나오게 하려구요 근데 엔터쳐도 안빠져나오네요..?
당연하죠 scanf는 개행문자 무시해요. string 받을 때는 웬만하면 fgets 쓰세요
이 정도면 많이 알려준 거 같으니 나머지는 알아서
감사합니다.