我正在尝试使用fwrite()
函数在C中使用二进制模式将记录写入文件,但是该文件仍然为空,但是已成功创建并打开。
我已经尝试使用不同的方式打开文件。 由于技术限制,我正在使用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