C++ 如何在BCB XE中将十六进制字符串编码为整数

C++ 如何在BCB XE中将十六进制字符串编码为整数,c++,hex,c++builder,c++builder-xe,C++,Hex,C++builder,C++builder Xe,我想在RAD StudioC++ +Builder XE.中转换十六进制字符串到16位十进制。 例如,我有十六进制字符串“8FC”。它的二进制表示是100011111100。其十进制表示为:2300 转换?使用一个简单的方法是使用< /P> #包括 #包括 #包括 #include//MS&Borland似乎在这方面有所欠缺 int main() { 无符号短val; 标准:stringstream st(“8FC”); st>>std::hex>>val; //将其转换回十进制文本 圣克利尔(

我想在RAD StudioC++ +Builder XE.</P>中转换十六进制字符串到16位十进制。 例如,我有十六进制字符串“8FC”。它的二进制表示是100011111100。其十进制表示为:2300

<如何在C++ Builder XE?

< P >转换?使用一个简单的方法是使用< /P>
#包括
#包括
#包括
#include//MS&Borland似乎在这方面有所欠缺
int main()
{
无符号短val;
标准:stringstream st(“8FC”);
st>>std::hex>>val;
//将其转换回十进制文本
圣克利尔();

st最后,我找到了在上执行此转换的正确方法。它只是尝试调用过程,但在前面加了一个“$”,如下所示:

s1 = "8FC";
int i = StrToInt(UnicodeString("$") + s1);
Edit1->Text = IntToStr(i);

请看这个例子,上面的例子确实是你想要的。它是否可以在C++ + Builder XE中使用?<代码> STD::HEX <代码> > C++ C++ Builder XE>代码>,请以<代码> iOSKASBASE和IOSASBASE/COD>为参数。请注意我使用的是代码> C++Builder XE< /Cord>。非常感谢。RK,但不,我们可以在家里尝试。或者尝试链接,看看是否可以使它工作。它是否可以在C++ Builder XE中使用?<代码> STD::HEX/<代码>在C++ +Builder XE中问“代码> IOSLASBASE和IOSASBASE< /CUL>参数。请注意我使用C++ Builder XE。非常感谢。<代码> STD::HEX < /C>是C++标准的一部分。库。我已更新了我的答案,以包括所需的附加标题,并将其转换回文本。我尝试了您的建议,但它仍会引发任何错误消息。以下消息:
[BCC32 error]uPort.cpp(133):E2285找不到与“std::stringstream::basic_stringstream(UnicodeString)”匹配的内容。
[BCC32 error]uPort.cpp(133):E2031无法从“UnicodeString”转换为“std::stringstream”
必须将编译器设置配置为将多字节字符串解释为unicode。请改用
std::wstringstream
或更改设置。在有机会搜索它之前,请使用
std::wstringstream
s1 = "8FC";
int i = StrToInt(UnicodeString("$") + s1);
Edit1->Text = IntToStr(i);