令我烦恼的是转换。我正在使用 C++ Rad Studio XE8(不要问我为什么必须这样做)。
我有变量
AnsiString a = "D8";
char sz;
我希望 sz
看起来像这样
char sz = 0xD8;
如何将 AnsiString
a
转换为 char
以便 sz
最终等于 0xD8
?
memcpy
、strcpy
等都试过了,没找到解决方法。
最佳答案
一种方法是:
unsigned char sz = strtol( a.c_str(), NULL, 16 );
请注意,unsigned char
更可取,因为 plain char 是有符号的,并且 0xD8
超出了 plain char 的范围。
关于c++ - 如何将 AnsiString 转换为 char?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34055135/