if(fread(&tempUser,sizeof(struct customer) ,1 ,pFile)) { fseek(pFile,-sizeof(struct customer), 2); fread(&tempUser,sizeof(struct customer),1 ,pFile); cust.account = tempUser.account + 1; } else{ cust.account = 1001; //如果文件为空,则将新客户的账号设置为 1001 }修正代码
时间: 2024-03-14 14:43:25 浏览: 99
fseek函数的用法:将文件指针定位到指定的位置
修正后的代码如下:
```
if(fread(&tempUser, sizeof(struct customer), 1, pFile)) {
fseek(pFile, -sizeof(struct customer), SEEK_END);
fread(&tempUser, sizeof(struct customer), 1, pFile);
cust.account = tempUser.account + 1;
}
else {
cust.account = 1001;
}
```
修正后的代码中,我们先读取文件中的最后一条记录,然后获取其账号号码,并将其加一作为新客户的账号。如果文件为空,则将新客户的账号设置为 1001。同时,我们将 `fseek` 函数的第三个参数设置为 `SEEK_END`,表示从文件末尾开始向前偏移。
阅读全文