我对uint_fast16_t的格式有问题
uint_fast16_t runningOrderNo;
std::string ATNativeConnector::_GetNextClOrdId()
{
time_t t = time(NULL);
struct tm* tim = localtime(&t);
std::stringstream sstr;
char temp[10];
sprintf(temp, "%02d%02d%02d%03u", tim->tm_hour, tim->tm_min, tim->tm_sec, ++runningOrderNo);
sstr << temp; //<< std::setfill('0') << std::setw(2) << tim->tm_hour << tim->tm_min << tim->tm_sec << ++runningOrderNo;
runningOrderNo %= 999;
//LOG4CXX_DEBUG(logger,"Generated " << sstr.str() << " second:" << tim->tm_sec << " order id");
return sstr.str();
}
Run Code Online (Sandbox Code Playgroud)
我收到这样的警告.
ATNativeConnector.cpp:6156:95:警告:格式'%u'需要'unsigned int'类型的参数,但参数6的类型为'uint_fast16_t {aka long unsigned int}'[ - Wformat =]
我从这个页面尝试了不同的格式,如果有人会帮助我,我会感激不尽.