c++ - 如何将 AnsiString 转换为 char?

标签 c++ type-conversion c++builder-xe8

令我烦恼的是转换。我正在使用 C++ Rad Studio XE8(不要问我为什么必须这样做)。

我有变量

AnsiString a = "D8";
char sz;

我希望 sz 看起来像这样

char sz = 0xD8;

如何将 AnsiString a 转换为 char 以便 sz 最终等于 0xD8?

memcpystrcpy等都试过了,没找到解决方法。

最佳答案

一种方法是:

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/

相关文章:

c++ - VS2012中使用 'volatile'关键字的最佳实践

c++ - Eigen (C++): how can I visit part of matrix in?

C (XC8) 使用三元运算符隐式有符号到无符号转换

sql-server - EXEC 语句中的类型转换

url - 如何将 png 从 Web 加载到 TImage 控件中?

c++ - 如何编写引用 'char *' 或 'const char*' 的 C++ 函数?

c++ - 是否可以分析程序的返回值?

php - PHP JSON解码数组中的数组到字符串的转换错误

c++ - Embarcadero TThread : Pass TThreadMethod in C++

c++ - 检测给定类型的表单是否已在 Firemonkey 应用程序中打开