Как исправить fwrite не писать в файл в C? - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь записать запись в файл, используя двоичный режим в C, используя функцию fwrite(), но файл остается пустым, однако он успешно создан и открыт.

Я уже пробовал использоватьразные режимы открытия файла. Я использую компилятор Turbo C3 из-за технологических ограничений.

void Register () {
  FILE *User_File;
  User_File = fopen ("C://TURBOC3//SOURCE//USERDATA.DAT", "wb");
  active_user = _register_user();  //active user is of type struct _acc
  fwrite (&active_user, sizeof (struct _acc), 1, User_File);
  fclose (User_File);
}

Ожидаемые данные для записи в файл Файл остается пустым даже после нескольких попыток

Структура _accвыглядит следующим образом

struct _acc {
  char      *h_name;
  char       sex;
  struct date dob;
  char      *address;
  long int  mobile;
  int           pin;
  long int  accno; 
  double        account_bal;
  struct date acc_open_date;
  char       *username;
  char       *password;
  int           security_Q;  //used in case of forgot password
  char       *security_A;  //used in case of forgot password
  int       block_status;
};
typedef struct _acc acc;

Объявление _register_user() выглядит следующим образом:

acc _register_user ();
// This function returns a variable of type acc
...