首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

关于转换的两个有关问题

2012-09-25 
关于转换的两个问题第一个问题:char src[6]src[0] 0src[1] xsrc[2] \xB8src[3] \x0Csr

关于转换的两个问题
第一个问题:  
  char src[6];
  src[0] = '0';
  src[1] = 'x';
  src[2]= '\xB8';
  src[3]= '\x0C';
  src[4]= '\xD0';
  src[5]= 0x00;
  String s1 = String(src);
  String s2 = "0xB80CD0";
  int iVlaue1=StrToInt(s1);//转换异常出错
  int iVlaue2=StrToInt(s2);//得到正确整型值12061904


第二个问题:
string s1=....//略去
String str2 = IntToHex((str1[1]),2);
执行上属语句后str2的值为FFFFFFBD,而我只想得到BD,请问该怎么做。

其中str1[1]调试信息如下:
Evaluate窗口显示: Result :'\xFFFFFFBD'
inspect窗口显示: '\xBD' 189
到底str1[1]中表示的是哪个字符?


[解决办法]
第一个问题,0xB8 不等于 "B8", src[2]= '\xB8'相当于:src[2] = 0xB8,你只是把这个字节赋给src[2]了,并不是"B8"这个字符串。所以后面的转换要失败的。正确的应该是:
char src[] = "0xB80CD0";
或者:
char src[] = { '0', 'x', 'B', '8', '0', 'C', 'D', '0' };
然后:
String s1 = String(src);
int iVlaue1=StrToInt(s1);

热点排行