__int64格式化输出为十六进制

时间:2013-02-03 09:58:08

标签: c++ visual-studio-2010 visual-c++ mfc

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

__int64 = offset;//non zero
CString strOutput;
strOutput.Format(_T("0x%x"), offset);

错误的输出是:0x0

任何人都可以帮助我?

3 个答案:

答案 0 :(得分:5)

试试这个:

strOutput.Format(_T("0x%llx"), offset);

甚至更好,如果可以#include <inttypes.h>

strOutput.Format(_T("0x%"PRIx64""), offset);

答案 1 :(得分:2)

试试这个。

strOutput.Format(_T("0x%I64X"), offset);

答案 2 :(得分:1)

试试这个:

strOutput.Format(_T("%I64d"),offset);