Author: Not specified Language: c
Description: Not specified Timestamp: 2013-05-25 21:23:14 +0000
View raw paste Reply
  1. FILE *fd;          // ?????????? ?????
  2. char fname[LN];  // ??? ?????
  3. int size;       // ?????? ???????
  4. int n;  // ?????? ???????
  5. Item *tab;      // ???? ???????
  6.  
  7. ???????? ??????? ?? ?????
  8. ??????? ???????????? ???? ?? ?????? ? ?????? ? ????????? ????????? ?????????? ????????
  9. if(fd = fopen(fname, "r+b")){
  10. ???? ??????????, ????? ????????? ??????? ?? ????? ? ??????????? ??????
  11.      fread(&size, sizeof(int), 1, fd);   // ?????? ??????? ???????
  12.      fread(&n, sizeof(int), 1, fd);   // ?????? ??????? ???????
  13.      tab = (Item *)malloc(sizeof(Item) * size);  // ????????? ?????? ??? ???????
  14.      fread(tab, sizeof(Item), n, fd); // ?????? ???????
  15. }
  16. else{
  17. ???? ?? ??????????, ??? ???? ??????? ? ???????? ? ???? ?????? ???????
  18.       fd = fopen(fname, "w+b");
  19.       fwrite(&size, sizeof(int), 1, fd);
  20. }
  21.  
  22. ???????? ??????? ? ????
  23. fseek(fd, sizeof(int), SEEK_SET);   //  ?????????? ? ????? ?????? ???????
  24. fwrite(&n, sizeof(int), 1, fd);  // ???????? ? ???? ?????? ???????
  25. fwrite(tab, sizeof(Item), n, fd); // ???????? ? ???? ???? ???????
  26.  
View raw paste Reply