I am trying to read a file with this subroutine. It has two lines and looks as such:
kpaw 40.871 -104.714 Pawnee Radar
kchl 40.446 -104.637 CHILL Radar
When I run the program I get this readout in the terminal:
kchl 40.446 -104.637 CHILL Radar14 Pawnee Radar
radar string: �1m�x1m��1m��1m�▒�
Not sure whats going on. Any ideas?
Code:
void read_radar(char *radar,GooCanvasItem *group)
{
FILE * radar_file;
//~ gchar *path_data;
radar_file = fopen(radar,"r");
if (radar_file != NULL)
{
char radar_string[80];
const char delimiters[] = " ";
char *call;
char *chlat;
char *chlon;
char *name1;
char *name2;
double lat;
double lon;
//~ fgets(radar_string, 40, radar_file);
while ( fgets(radar_string, 80, radar_file) != NULL )
{
printf("radar string: %s\n",radar_string);
fflush(NULL);
fclose (radar_file);
call = strtok (radar_string, delimiters); //~ Radar Call
chlat = strtok (NULL, delimiters); //~ Radar Lat
chlon = strtok (NULL, delimiters); //~ Radar Long
name1 = strtok (NULL, delimiters); //~ Radar Name1
name2 = strtok (NULL, delimiters); //~ Radar Name2
lat = strtod(chlat, (char **) NULL);
lon = strtod(chlon, (char **) NULL);
//~ printf("%s %f\n",chlat,lat);
//~ printf("%s %f\n",chlon,lon);
lon = (top_long - lon) / -ps;
lat = (top_lat - lat) / ps;
//~ printf("%s %f\n",chlat,lat);
//~ printf("%s %f\n",chlon,lon);
//~ goo_canvas_ellipse_new(group,lon,lat,5.0,5.0,"fill-color","yellow","stroke-color","black",NULL);
//~ Goo::Canvas::Text->new ($radars,$radar_name,$radar_x,$radar_y,-1,'GTK_ANCHOR_CENTER',font => 'Sans Bold 15',fill_color => 'black');
}
}
else
{
printf("ended\n");
}
}