__int64格式化输出为十六进制

Tri*_*ant 0 c++ mfc visual-studio-2010 visual-c++

我想将__int64类型的param转换为CString.但我总是得到错误的输出.这是我的代码:

__int64 = offset;//non zero
CString strOutput;
strOutput.Format(_T("0x%x"), offset);
Run Code Online (Sandbox Code Playgroud)

错误的输出是:0x0

有人可以帮帮我吗?

小智 5

试试这个:

strOutput.Format(_T("0x%llx"), offset);
Run Code Online (Sandbox Code Playgroud)

甚至更好,如果你能#include <inttypes.h>:

strOutput.Format(_T("0x%"PRIx64""), offset);
Run Code Online (Sandbox Code Playgroud)