I want to print the struct to a .txt file. When I compile my code my final printf returns the values I input just fine but my fprintf saves some strange symbols into the text file. Can anyone please help me debug this?
Code:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
struct
{
char user_airportdestination[5];
char user_airportorigin[5];
char user_maker[7];
char user_model[4];
char user_flightnumber[8];
char user_tailnumber[8];
float user_altitude;
float user_heading;
float user_trackangle;
float user_gspeed;
float user_airtemp;
float user_latitude;
float user_longitude;
} data;
printf("Aircraft data acquisition\nThis program acquires user data and saves it into a file\nPress enter to continue");
getchar();
system("cls");
printf ("Airport Destination:\n");
scanf ("%s",&data.user_airportdestination);
printf ("Airport Origin:\n");
scanf ("%s",&data.user_airportorigin);
printf ("Aircraft Maker:\n");
scanf ("%s",&data.user_maker);
printf ("Aircraft Model:\n");
scanf ("%s",&data.user_model);
printf ("Flight Number:\n");
scanf ("%s",&data.user_flightnumber);
printf ("Aircraft's Tail Number:\n");
scanf ("%s",&EFBdata.user_tailnumber);
printf ("Altitude:\n");
scanf ("%f",&data.user_altitude);
printf ("Heading:\n");
scanf ("%f",&EFBdata.user_heading);
printf ("Track Angle:\n");
scanf ("%f",&data.user_trackangle);
printf ("Groundspeed:\n");
scanf ("%f",&EFBdata.user_gspeed);
printf ("Static Air Temperature (degrees Celsius):\n");
scanf ("%f",&data.user_latitude);
printf ("Latitude:\n");
scanf ("%f",&EFBdata.user_latitude);
printf ("Longitude:\n");
scanf ("%f",&data.user_longitude);
printf ("Data acquired %s\n%f", data.user_airportdestination, data.user_latitude);
getchar();
FILE *file;
file = fopen("user_input.txt","w");
fprintf(file,"%s %f", data.user_airportdestination, data.user_latitude); //writes//
printf ("Data saved in user_input.txt");
getchar(); // pause and wait for key //
return 0;
}
Thanks!
Doia