我想在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