c语言文件 “info.txt” 中保存着多个如下结构体的数据,编写程序输出文件中所有结构体的数据。( 5 分) struct user { int account; char passwd[8]; float money; };
时间: 2023-12-28 19:04:33 浏览: 77
以下是一个简单的实现,它假设文件中存储的数据是连续的结构体,每个结构体的大小是固定的。
```c
#include <stdio.h>
struct user {
int account;
char passwd[8];
float money;
};
int main() {
FILE *fp = fopen("info.txt", "rb");
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
struct user u;
while (fread(&u, sizeof(struct user), 1, fp) == 1) {
printf("Account: %d\n", u.account);
printf("Password: %s\n", u.passwd);
printf("Money: %.2f\n\n", u.money);
}
fclose(fp);
return 0;
}
```
该程序使用 `fopen()` 函数打开文件,并以二进制模式(`"rb"`)读取文件内容。然后,它通过每次读取一个结构体的大小来循环读取文件中的所有结构体。最后,程序输出每个结构体的 account、passwd 和 money 字段的值。注意,该程序没有对文件中的数据进行错误检查,因此在实际使用中可能需要添加其他的错误处理逻辑。
阅读全文