因此,我创建了2个文本文件,可以分别存储我的用户数据和职员数据,但没有存储我的数据,但是代码运行良好。这是我的代码
FILE *usr;
FILE *staf;
usr = fopen("users.txt","a+");
staf = fopen("staff.txt","a+");
// some data to be collected
if (choice == 's')
{
fprintf(staf,"staffs: %d/%d/%d %s %s %s %s %s %d %s\n ",&add.month,&add.day,&add.year,add.name,choice,add.staff.username,add.password,add.email,&add.number);
fclose(staf);
}
else if (choice == 'u')
{
fprintf(usr," %d/%d/%d %s %s %s %s %s %d %s\n",&add.month,&add.day,&add.year,add.name,choice,add.user.username,add.password,add.email,&add.number);
fclose(usr);
}
else
{
goto personnel;
}
fprintf()
的前三个替换项不匹配。 %d
用于整数,您将指针传递给它。另外,我不确定,但是我怀疑您是否要将指针打印到文件。如果这样做,则使用%p
。有关更多信息,请尝试man 3 printf
。