您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> 取系统时间10位,结果只得到两位

取系统时间10位,结果只得到两位

来源:网络整理     时间:2016/8/13 1:09:47     关键词:

关于网友提出的“ 取系统时间10位,结果只得到两位”问题疑问,本网通过在网上对“ 取系统时间10位,结果只得到两位”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 取系统时间10位,结果只得到两位
描述:

static unsigned char szProcLogFile[60]; //xf20040311
unsigned char szTime[20];
.
.
.
vGetTime(szTime);//调用下面的函数void vGetTime(unsigned char *pszTime)
sprintf(szProcLogFile, "c:\\windows\\tmpdata\\测试数据-%.10s.XH", szTime+4);
为什么,最后生成的文件名是“测试数据-03”(连扩展名都没有,似乎被截掉了),而不是“测试数据-0318103021.XH”(0318103021指月日小时分秒固定10位)
//xf20040315_start
void vGetTime(unsigned char *pszTime)
{
   time_t t;
   struct tm tm;
   t= time( NULL );
   memcpy(&tm, localtime(&t), sizeof(struct tm));
   sprintf((char *)pszTime, "%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);
}
//xf20040315_end


解决方案1:

简单,生成的文件名不要“测试数据-03”,只是时间

解决方案2:

我试过了 可以啊?!

解决方案3:

VC1.0是不支持这么长的文件名

解决方案4:

不会错呀,我试了确实可以!

解决方案5:

我用vc在w2k下测试一切正常,你是在dos下的程序?


以上介绍了“ 取系统时间10位,结果只得到两位”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3240071.html

相关图片

相关文章