linux C,逐个读取文件中固定保存的结构数据,while实例
时间: 2024-02-17 15:04:19 浏览: 64
C语言读取数据,保存到文件并时间对齐
好的,我可以为您提供一个简单的示例代码。假设您要读取的结构体如下:
```c
struct data {
int id;
char name[20];
double value;
};
```
您可以使用以下代码逐个读取文件中保存的结构体数据:
```c
#include <stdio.h>
int main() {
FILE *fp = fopen("data.dat", "rb"); // 以二进制读取模式打开文件
struct data d;
while (fread(&d, sizeof(struct data), 1, fp) == 1) { // 每次读取一个结构体的数据
printf("ID: %d, Name: %s, Value: %lf\n", d.id, d.name, d.value);
}
fclose(fp); // 关闭文件
return 0;
}
```
在上面的代码中,我们使用了 `fread()` 函数来读取文件中的数据。每次读取一个结构体的数据,如果成功读取,则返回值为 1,否则返回值为 0。因此,我们可以使用 `while` 循环来逐个读取文件中保存的结构体数据。当读取完所有数据后,`fread()` 函数将返回 0,循环结束。
请注意,上面的示例代码仅供参考,具体实现方式可能因为数据格式和需求不同而略有差异。
阅读全文