定义一不图书头的结构体(成员有书名、编号和价格)变量为4。通过数据块函数把4个变量的内容写入文件中,然后再读取文件内容打印到屏幕上
时间: 2024-02-26 18:57:58 浏览: 17
好的,这是一个简单的代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
struct Book {
char name[50];
int id;
float price;
};
int main() {
// 定义4个结构体变量
struct Book books[4] = {
{"Book A", 1001, 25.0},
{"Book B", 1002, 30.0},
{"Book C", 1003, 20.5},
{"Book D", 1004, 15.0}
};
// 写入文件
FILE *fp = fopen("books.dat", "wb");
if (fp == NULL) {
printf("Failed to open file.\n");
exit(1);
}
fwrite(books, sizeof(struct Book), 4, fp);
fclose(fp);
// 读取文件并打印到屏幕
fp = fopen("books.dat", "rb");
if (fp == NULL) {
printf("Failed to open file.\n");
exit(1);
}
struct Book tmp[4];
fread(tmp, sizeof(struct Book), 4, fp);
for (int i = 0; i < 4; i++) {
printf("Book %d: %s, ID: %d, Price: %.2f\n", i+1, tmp[i].name, tmp[i].id, tmp[i].price);
}
fclose(fp);
return 0;
}
```
这个程序定义了一个 `Book` 的结构体,包含了书名、编号和价格三个成员。然后定义了4个结构体变量,写入文件 `books.dat` 中,然后再从文件中读取数据并打印到屏幕上。注意,读写文件时需要使用二进制模式打开文件。