山东2018寒假放假时间:C++Budiler里的类型转换问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/07 13:58:04
int a=-41;
String b;
char C[1];
b=IntToHex(a,8);
//b=FFFFFFD7
b=b.SubString(5,4);
//b=FFD7;
我想问如何让C[0]=0XFF;C[1]=0XD7;

你为什么要转换成字符串又转回去呢?

你只不过是要 a 的高八位和低八位而已

c[0] = (char)(a >> 8);
c[1] = (char)a;

你定义char错了,应该定义为char *C[2];建议B定义为AnsiString b;
转换也可以这样:
C[0]=b.SubString(1,2).c_str();
C[1]=b.SubString(3,2).c_str();