void saveCar() { CAR car; printf("\n车辆信息录入\n"); printf("车主姓名:"); fflush(stdin); char name; scanf("%s",&name); car.name = name; fseek(pFile, -sizeof(CAR), 1); fwrite(&stUser, sizeof(CAR), 1, pFile);修正代码
时间: 2024-03-24 19:39:36 浏览: 48
车辆信息录入原型
代码中存在一些问题,下面是修正后的代码:
```c
void saveCar() {
CAR car;
printf("\n车辆信息录入\n");
printf("车主姓名:");
fflush(stdin);
char name[20]; // 修正1:name应该是一个字符串数组
scanf("%s", name);
strcpy(car.name, name); // 修正2:使用strcpy将name赋值给car.name
fseek(pFile, -sizeof(CAR), SEEK_CUR); // 修正3:将1改为SEEK_CUR
fwrite(&car, sizeof(CAR), 1, pFile); // 修正4:将stUser改为car
}
```
主要的修改如下:
1. `name` 应该是一个字符串数组,而不是一个字符变量。
2. 使用 `strcpy` 函数将 `name` 赋值给 `car.name`。
3. `fseek` 函数的第三个参数应该是 `SEEK_CUR`,表示相对于当前位置向前移动。
4. 将 `stUser` 改为 `car`,因为 `stUser` 未定义。
阅读全文