0
Ulong64からキャストするときの値が64ビットに切り捨てられても、これで助けてくれますか?64bitキャスト中にCStringの値が切り捨てられる
HMONITOR hmonitor64; // Hmonitor decl
hmonitor64 = (HMONITOR)0x0000000300290eaf;// initialize to big value
ULONG64 lmonitor64;
CString strMonitor64;
lmonitor64 = (ULONG64)hmonitor64; // typecasted to long
strMonitor64.Format(_T("%lu"), lmonitor64); // value gets truncated in cstring
、あなたのソースコードをフォーマットしてください。 (エディタのツールボタン '{}'を使用してください。) – Scheff
私はあなたが ''%llu "'を使用しなければならないと思っています。 「長い」とは、64ビットプラットフォームでもWindows/VCで32ビットを意味します。だから、あなたは 'long long unsigned'や' ULONG64'のように使用しなければなりません。 – Scheff
切り捨ても32ビットコードで行われます。 'HMONITOR'は32ビットコードで32ビット幅であるため、気付かないでください。 – IInspectable