如何将一个字符串识别为无符号字符字符串?
例如这样的事情就是我的想法
unsigned char* ucstr = U"\x10\x12\x14\x16";
是否有我放置的U
这样的标识符?还是我必须抛弃它?
答案 0 :(得分:2)
user-defined literals是您所能得到的最好的。由于不存在,请自己做!然后,您可以进行reinterpret_cast
来获取正确的类型。
const unsigned char* operator""_u (const char* bytes)
{
return reinterpret_cast<const unsigned char *>(bytes);
}
答案 1 :(得分:0)
没有用于声明使用unsigned char
字符的字符串文字的前缀。只需使用基于普通char
的字符串文字,并键入指向它的指针,例如:
const unsigned char * ucstr = (const unsigned char *) "\x10\x12\x14\x16";
或
const unsigned char * ucstr = reinterpret_cast<const unsigned char *>("\x10\x12\x14\x16");
答案 2 :(得分:0)
C具有复合文字:
(unsigned char []) { "string" }