C语言将结构体写入文件,每行一个
时间: 2024-04-16 11:08:29 浏览: 98
C语言实现按行读写文件
可以使用fprintf()函数将结构体成员的值写入文件中,每行一个。
例如,假设有一个名为person的结构体,其中包含name、age和gender三个成员:
```
struct person {
char name[20];
int age;
char gender;
};
```
可以使用以下代码将该结构体写入文件中,每行一个:
```
#include <stdio.h>
int main() {
struct person p = {"John", 30, 'M'};
FILE *fp = fopen("person.txt", "w");
if (fp == NULL) {
printf("Failed to open file.\n");
return -1;
}
fprintf(fp, "%s %d %c\n", p.name, p.age, p.gender);
fclose(fp);
return 0;
}
```
此代码将创建一个名为person.txt的文件,并将p结构体的成员值写入该文件中,每行一个。%s、%d和%c分别表示字符串、整数和字符类型的格式化输出。在fprintf()函数中,字符串和字符类型的值需要用双引号括起来,而整数值不需要。最后,需要使用fclose()函数关闭文件流。
阅读全文