Advertisement
fallenangel121

Untitled

Apr 8th, 2020
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.91 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2.  
  3. #include <stdlib.h>
  4. #include<stdio.h>
  5.  
  6. typedef enum Gender {
  7.     Female = 0,
  8.     Male = 1,
  9. } Gender;
  10.  
  11. typedef struct data_human {
  12.     char *name;
  13.     unsigned char age;
  14.     Gender  gender;
  15. } d_human;
  16.  
  17. typedef struct h_human
  18. {
  19.     d_human personal_data;
  20.     d_human* partner;
  21. }h_human;
  22.  
  23. int main(int argc, char** argv)
  24. {
  25.     /* t_Human woman = { "Maria", 18, Female };
  26.      t_Human man = { "Georgi", 55, Male };
  27.  
  28.      man.partner = &woman;
  29.      printf("Woman: %s %d %d", man.partner->name, man.partner->age, man.partner->gender);*/
  30.  
  31.    
  32.     int i;
  33.     FILE* fdata = fopen("data.txt", "r");
  34.    
  35.     h_human record = { 0 };
  36.     record.personal_data.name = (char*)malloc(sizeof(char) * 30);
  37.  
  38.     if ((fdata = fopen("data.txt", "r")) == NULL)
  39.     {
  40.         printf("Error opening file");
  41.         exit(1);
  42.     }
  43.      
  44.     while (fscanf(fdata, "%s | %d | %d\n", record.personal_data.name, &record.personal_data.age, &record.personal_data.gender) != EOF)
  45.     {
  46.         printf("Information about the citizen:\n");
  47.         // fscanf(fdata, "%s | %d | %d\n", record.personal_data.name, &record.personal_data.age, &record.personal_data.gender);
  48.         printf("%s\t%d\t%d\n", record.personal_data.name, record.personal_data.age, record.personal_data.gender);
  49.     }
  50.     fclose(fdata);
  51.     free(record.personal_data.name);
  52.  
  53.     if ((fdata = fopen("male.bin", "wb")) == NULL)
  54.     {
  55.         printf("Error opening file");
  56.         exit(2);
  57.     }
  58.     else
  59.     {
  60.         fdata = fopen("male.bin", "wb");
  61.  
  62.         for (i = 0; i < 4; i++)
  63.         {
  64.           //.......  if (fscanf("%d", &record.personal_data.gender) == .......)
  65.             {
  66.                 if (fwrite(&record.personal_data.gender, sizeof(h_human), 1, fdata) == 1)
  67.                     printf("Male: %s",record.personal_data.name);
  68.             }
  69.         }
  70.     }
  71.     fclose(fdata);
  72.  
  73.  
  74.     return 0;
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement