strOut.Format(_T"%d小时%d分钟", nTarget/3600, nTarget%3600/60);  strOut.Format(_T"%d小时%d分钟", nTarget/3600, nTarget%3600/60); 今天在工作中处理cstring格式化输出的时候出现这么一个问题:

INT64 nTarget;
Cstring strOut;
strOut.Format(_T"%d小时%d分钟", nTarget/3600, nTarget%3600/60);  

 

这样的输出总是整小时,即总是*小时0分钟,观察了大半天,才发现输出的格式是不对的。

在windows环境下输出64位整数应采用%lld,故输出格式应该写成这样:-

strOut.Format(_T"%lld小时%lld分钟", nTarget/3600, nTarget%3600/60);  

这样就对了,记录一下,以后别再犯这样的错误 

 

 

posted on 2011-07-13 11:26  冬日的细雨  阅读(224)  评论(0)    收藏  举报