我想在file.txt中保存我的结构。我已经找到了以下保存代码,但问题是我希望每个q[i]
都保存在文件的不同行中!我无法修改代码。在文件问题中保存C结构!
void WriteFile(struct car* q)
{
printf("Attempting to write...");
FILE* fp = 0;
char* buffer = 0;
int i=0;
/* allocate */
buffer = malloc (150);
bzero(buffer, 150);
/* copy the data to a string */
snprintf(buffer, 150, "%s\t%s\t%d\t%s\t%.2f\t%.2f\t%d/%d/%d\t%d/%d/%d\t%d/%d/%d\n",q->name,q->numberplate,q->km,q->phonenumber,q->overall_cost,q->paid_cost,q->dateIn->day,q->dateIn->month,q->dateIn->year,q->dateServiced->day,q->dateServiced->month,q->dateServiced->year,q->dateOut->day,q->dateOut->month,q->dateOut->year);
printf("\n");
fp = fopen("arxeio3.txt", "a");
fputs(buffer, fp);
fputs("\n",fp);
free(buffer);
fclose(fp);
}
为什么你不能修改代码? – 2011-05-30 18:36:07
检查fopen()的返回值:'if(!fp)printf(“error opening file!\ n”);' – karlphillip 2011-05-30 18:37:31
即使我把\ n放在“snprintf(...)”中,或者即使我输入了fputs (“\ n”,fp)我的数据被保存在同一行中! – xcubis 2011-05-30 18:37:45