time_t time=val; // Y2038 bug!
gmtime_r(&time, &tm);
- char tmp[16];
- snprintf(tmp,sizeof(tmp)-1, "%04d%02d%02d" "%02d%02d%02d",
- tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday,
- tm.tm_hour, tm.tm_min, tm.tm_sec);
-
- d_string += tmp;
+ d_string += boost::str(boost::format("%04d%02d%02d" "%02d%02d%02d") % (tm.tm_year+1900) % (tm.tm_mon+1) % tm.tm_mday % tm.tm_hour % tm.tm_min % tm.tm_sec);
}
double remlat=60.0*(latitude-(int)latitude);
double remlong=60.0*(longitude-(int)longitude);
- char ret[80];
- snprintf(ret,sizeof(ret)-1,"%d %d %2.03f %c %d %d %2.03f %c %.2fm %.2fm %.2fm %.2fm",
- abs((int)latitude), abs((int) ((latitude-(int)latitude)*60)),
- fabs((double)((remlat-(int)remlat)*60.0)),
- latitude>0 ? 'N' : 'S',
- abs((int)longitude), abs((int) ((longitude-(int)longitude)*60)),
- fabs((double)((remlong-(int)remlong)*60.0)),
- longitude>0 ? 'E' : 'W',
- altitude, size, horizpre, vertpre);
+ std::string ret = boost::str(
+ boost::format("%d %d %2.03f %c %d %d %2.03f %c %.2fm %.2fm %.2fm %.2fm")
+ % abs((int)latitude) % abs((int) ((latitude-(int)latitude)*60))
+ % fabs((double)((remlat-(int)remlat)*60.0)) % (latitude>0 ? 'N' : 'S')
+ % abs((int)longitude) % abs((int) ((longitude-(int)longitude)*60))
+ % fabs((double)((remlong-(int)remlong)*60.0)) % (longitude>0 ? 'E' : 'W')
+ % altitude % size
+ % horizpre % vertpre
+ );
return ret;
}