C语言把txt文件写入结构体
时间: 2024-04-06 15:09:41 浏览: 217
c语言读入文本文档到结构体.txt
要将txt文件写入结构体,需要先定义一个结构体类型,并在程序中打开文件并读取数据。假设txt文件中的数据格式为每行三个数字,表示一个结构体中的三个成员,可以按照以下步骤进行:
1. 定义结构体类型
```c
typedef struct {
int member1;
int member2;
int member3;
} StructType;
```
2. 打开文件并读取数据
```c
FILE *fp;
fp = fopen("file.txt", "r"); // 打开文件
if(fp == NULL) {
printf("Error opening file\n");
exit(1);
}
StructType array[10]; // 假设txt文件中有10行数据,定义一个结构体数组来存储
int i = 0;
while(fscanf(fp, "%d %d %d", &array[i].member1, &array[i].member2, &array[i].member3) == 3) {
i++;
}
fclose(fp); // 关闭文件
```
在上述代码中,fscanf()函数可以按照指定格式读取txt文件中的数据,并将其存储到结构体数组中。当读取到的数据不符合指定格式时,fscanf()函数会返回读取到的数据个数,因此可以根据返回值判断是否读取成功。
3. 使用结构体数据
读取数据后,可以通过访问结构体成员来使用数据。例如,可以按照以下方式输出第一行数据:
```c
printf("member1: %d, member2: %d, member3: %d\n", array[0].member1, array[0].member2, array[0].member3);
```
注意,上述代码中假设txt文件中有10行数据,因此定义了一个10个元素的数组。如果读取到的数据行数不足10行,可能会出现数组越界等问题,因此需要根据实际情况调整数组大小或者添加足够的错误处理逻辑。
阅读全文