C 如何将DWORD转换为十六进制

C 如何将DWORD转换为十六进制,c,hex,dword,C,Hex,Dword,我目前正在使用C Builder: 这将输出: 4294967295(十二月份为0xFFFFFFFF) 我想让它显示0xFFFFFF 我如何做到?< p>假设您有权访问C++标准库,请尝试: #include <sstream> #include <iostream> #include <string> std::ostringstream ss; ss << std::hex << finalAddress; AnsiString

我目前正在使用C Builder:

这将输出: 4294967295(十二月份为0xFFFFFFFF)

我想让它显示0xFFFFFF


我如何做到?

< p>假设您有权访问C++标准库,请尝试:
#include <sstream>
#include <iostream>
#include <string>

std::ostringstream ss;
ss << std::hex << finalAddress;

AnsiString ansiHex = AnsiString (ss.str().c_str());
ListIt->Caption = ansiHex;
#包括
#包括
#包括
std::ostringstream ss;

ss字幕
。可能需要执行额外的转换。

更好!谢谢,但这仍然会产生一个字符串,标题是AnsiString,我是如何进行转换的?@GuillermeGarcia我编辑了答案-我不确定它是否有效,但根据它应该:)谢谢!!顺便说一句,这种方法有效:ListIt->Caption=AnsiString(ss.str().c_str());C中没有::操作符,我在这个问题上没有看到C++的任何痕迹。但我同意C标签是后来添加的。
#include <sstream>
#include <iostream>
#include <string>

std::ostringstream ss;
ss << std::hex << finalAddress;

AnsiString ansiHex = AnsiString (ss.str().c_str());
ListIt->Caption = ansiHex;