是否可以将struct
中的数据写入文本文件?
以下是我的struct
:
struct Person{
int date;
char acName[30];
int Weight;
float Length;
float Quetelet;
};
以下是我尝试将其写入文件的方式:
FILE *fptr;
fptr = fopen ("hello.txt", "w");
if (fptr == NULL){
printf ("Error!");
exit (1);
}
fprintf (fptr, "Date: %d\n", p.date);
fprintf (fptr, "Name: %s\n", p.acName);
fprintf (fptr, "Weight: %d\n", p.Weight);
fprintf (fptr, "Length: %f\n", p.Length);
fprintf (fptr, "Your Quetelet: f", &p.Quetelet);
fclose (fptr);
但是当我尝试时,我得到以下输出:
Date: 4201600
Name: Ðþ(
Weight: 4201600
Length: 0.000000
Your Quetelet: 0.000000
答案 0 :(得分:0)
暂不明白quetelet
实际是什么的明显问题,我相信你不应该试图写出它的地址,特别是没有有效的格式说明符:
fprintf(fptr,"Your Quetelet: f",&p.Quetelet);
相反,请试一试:
fprintf(fptr,"Your Quetelet: %f",p.Quetelet);
如果打印实际上正在运行但您似乎得到了奇怪的值,请确保在尝试打印之前将设置变量设置为某些内容