无符号字符字符串

时间:2018-10-16 03:02:09

标签: c++ c

如何将一个字符串识别为无符号字符字符串?

例如这样的事情就是我的想法

unsigned char* ucstr = U"\x10\x12\x14\x16";

是否有我放置的U这样的标识符?还是我必须抛弃它?

3 个答案:

答案 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" }