o/p i am getting isCode:#include <stdio.h> #include <strings.h> #include <stdlib.h> typedef struct { long int flight_no; float Fare, Carry_cost_1, Carry_cost_2, Carry_cost_3; char orig[5], Dest[5]; } Flight; int main () { FILE *fp; char c[100],*token; int i,line; Flight f1; fp=fopen("filght.txt","rb"); if (fp == NULL) { printf("Error: can't open the file filght.txt:"); } line=1; while (fgets(c,100,fp)!=NULL) { printf("The %d line is as follow:\n",line); puts(c); if ((token = strtok(c, "|")) != NULL) { i=1; f1.flight_no=atol(token); printf("Filght number:%ld \n",f1.flight_no); while ((token = strtok(NULL, "|")) != NULL) { i++; if (i==2) { strcpy(f1.orig,token); printf("Source = \"%s\"\n",f1.orig); } if (i==3) { strcpy(f1.Dest,token); printf("Dest= \"%s\"\n",f1.Dest); } if (i==4) { f1.Fare=atof(token); printf("Fare = \"%.3f\"\n",f1.Fare); } if (i==5) { f1.Carry_cost_1=atof(token); printf("Carry_cost_1= \"%.3f\"\n",f1.Carry_cost_1); } if (i==6) { f1.Carry_cost_2=atof(token); printf("Carry_cost_2 = \"%.3f\"\n",f1.Carry_cost_2); } if (i==7) { f1.Carry_cost_3=atof(token); printf("Carry_cost_3 = \"%.3f\"\n",f1.Carry_cost_3); } } } line++; printf("Total_carry_cost =:%.3f\n",f1.Carry_cost_1+f1.Carry_cost_2+f1.Carry_cost_3); } fclose (fp); return 0; }
./program2
Segmentation fault(coredump)
plese suggest me