欲将以下结构体写入二进制文件
typedef struct _Data
{
bool E_W;
bool E_Q;
bool E_S;
}
_Data data
FILE *f=fopen(".\\sys\\data.sys","wb");
if(f == NULL)//如果文件不存在,创建文件
{
f=fopen(".\\sys\\data.sys","wb+");
}
int num=fwrite(&data,sizeof(data),1,f);
fclose(f);
为何仅可创建文件,而不能写入?请指教。谢谢!
typedef struct _Data
{
bool E_W;
bool E_Q;
bool E_S;
}
_Data data
FILE *f=fopen(".\\sys\\data.sys","wb");
if(f == NULL)//如果文件不存在,创建文件
{
f=fopen(".\\sys\\data.sys","wb+");
}
int num=fwrite(&data,sizeof(data),1,f);
fclose(f);
为何仅可创建文件,而不能写入?请指教。谢谢!
改成
int num=fwrite(&data,1,sizeof(data),f);
如果不存在,在用"wb+"方式打开楼主如果是想在文件末尾来写,那么还要fseek()一下