在编写程序的过程中,我们常常会遇到一个问题,就是自动补全功能。
比如,想显示年月日时分秒,而且月日时分秒用两位数字来表示,就会面临这个问题。
以下是这种问题的解决方案。
void Get_QN(void)
{
char param_out[128]={0};
memset ((char*)QN,0,sizeof(QN));
BQ32002_Time_Read(&m_systime);
sprintf(param_out,"%d%02d%02d%02d%02d%02d%02d\r\n",m_systime.year+2000,m_systime.month,m_systime.date,m_systime.hour,m_systime.min,m_systime.sec ,0);
strcat((char*)QN,param_out);
//PC_Sendstring((u8*)QN);
}
另外一种情况是希望可以输出特定位数的小数。以下代码是解决上述问题的。
sprintf(param_data,"##0218ST=%d;CN=2011;PW=%.6s;MN=%.14s;CP=&&QN=%.16s;",m_st,m_password,m_mn,QN);
strcat((char*)GPRS_Databuf,param_data);