#include<stdio.h> #include<stdlib.h> #include<conio.h> #include<string.h> typedef struct { char name[50]; // 用户名 char card_num[20]; // 银行卡号 char password[20]; // 密码 char idcard[7]; //身份证后六位 double balance; // 余额 int locked; // 是否锁卡 }User; typedef struct { User user[100]; // 所有用户信息 int count=0; // 用户数量 }Bank; void main() { Bank bank; FILE* fp = fopen("yhxx.txt", "w"); if (fp == NULL) { printf("打开文件失败\n"); exit(1); } while(bank.count<101) { bank.count++; printf("请输入银行卡号\n"); scanf("%s", &bank.user[bank.count].card_num); printf("请输入姓名\n"); scanf("%s", &bank.user[bank.count].name); printf("请输入身份证号后六位\n"); scanf("%s", &bank.user[bank.count].idcard); printf("请输入密码\n"); scanf("%s", &bank.user[bank.count].password); bank.user[bank.count].balance=0; bank.user[bank.count].locked=0;c语言,有了这些代码,如何续写可以将输入的数据导入文件yhxx.txt中?将
时间: 2024-01-13 18:02:56 浏览: 123
贪吃蛇.docx
输入的数据导入文件yhxx.txt中,可以在循环结束后使用fwrite函数将结构体数组中的数据写入文件中。
具体代码如下:
```
Bank bank;
FILE* fp = fopen("yhxx.txt", "wb");
if (fp == NULL)
{
printf("打开文件失败\n");
exit(1);
}
while(bank.count<101)
{
bank.count++;
printf("请输入银行卡号\n");
scanf("%s", bank.user[bank.count].card_num);
printf("请输入姓名\n");
scanf("%s", bank.user[bank.count].name);
printf("请输入身份证号后六位\n");
scanf("%s", bank.user[bank.count].idcard);
printf("请输入密码\n");
scanf("%s", bank.user[bank.count].password);
bank.user[bank.count].balance=0;
bank.user[bank.count].locked=0;
}
fwrite(&bank, sizeof(Bank), 1, fp);
fclose(fp);
```
注意,写入文件的时候需要以二进制方式打开文件,所以文件打开方式应该为"wb"。同时,fwrite函数的第一个参数需要传入结构体的指针,而不是结构体数组的指针。因此,这里需要将整个结构体传入fwrite函数中。
阅读全文