64位整数用CString格式化显示的困惑
请看下面代码的红字部分
第二句中总显示freq=0
是什么原因造成的? LARGE_INTEGER m_liPerfFreq={0};
//获取每秒多少CPU Performance Tick
LARGE_INTEGER m_liPerfStart={0};
QueryPerformanceCounter(&m_liPerfStart);
QueryPerformanceFrequency(&m_liPerfFreq);
//..其他简单代码
LARGE_INTEGER liPerfNow={0};
// 计算CPU运行到现在的时间
QueryPerformanceCounter(&liPerfNow);
LONGLONG nx = (liPerfNow.QuadPart - m_liPerfStart.QuadPart);
LONGLONG time=( nx /m_liPerfFreq.QuadPart);
CString _str;
LONGLONG u = (m_liPerfFreq.QuadPart);
TCHAR _sz[64]={0};
_str.Format(_T("freq = %I64d delta = %d time = %dus\n"),u,nx,time);//这一句能正确显示
_str.Format(_T("delta = %d, time = %dus, freq = %I64d"), nx, time, u);//这一句尾部显示freq = 0
请看下面代码的红字部分
第二句中总显示freq=0
是什么原因造成的? LARGE_INTEGER m_liPerfFreq={0};
//获取每秒多少CPU Performance Tick
LARGE_INTEGER m_liPerfStart={0};
QueryPerformanceCounter(&m_liPerfStart);
QueryPerformanceFrequency(&m_liPerfFreq);
//..其他简单代码
LARGE_INTEGER liPerfNow={0};
// 计算CPU运行到现在的时间
QueryPerformanceCounter(&liPerfNow);
LONGLONG nx = (liPerfNow.QuadPart - m_liPerfStart.QuadPart);
LONGLONG time=( nx /m_liPerfFreq.QuadPart);
CString _str;
LONGLONG u = (m_liPerfFreq.QuadPart);
TCHAR _sz[64]={0};
_str.Format(_T("freq = %I64d delta = %d time = %dus\n"),u,nx,time);//这一句能正确显示
_str.Format(_T("delta = %d, time = %dus, freq = %I64d"), nx, time, u);//这一句尾部显示freq = 0
解决方案 »
- 有经验的看下!!谢谢
- 往qq聊天窗口写信息的问题?
- 为什么我动态创建的CComBoxEx控件不能拦截响应鼠标单击的消息?
- [求助]OLEDB重连问题
- 头文件交叉引用了怎么办?可是不这么做又没好办法。各位帮我看看
- 如何读取/创建/删除/启动Windows控制面板中的拨号连接,急,在线等待!!!!
- 基础问题::->VC怎样调试才可以看到自己设的变量的值?
- 请大家赶快讨论:VC就要被淘汰吗?
- 求ZIP文件.压缩解压缩库或者CODE
- 子对话框创建时,如何让主对话框的进度条及时更新?
- 腾讯既然做了个TXGuiFoundation,那有没有说过这个库的授权?
- MFC 串口接收不到报文 可以发送,求解释,求一切围观
_str.Format(_T("delta = %d, time = %dus, freq = %I64d"), (int)nx, (int)time, u);