未签名的char数组到stl ::映射或其他容器中的键



我尝试制作像

的地图
 map<unsigned char[16], string> testMap;

unsigned char[16]看起来不适合钥匙地图。

但是在我的钥匙中有空,所以我不能将字符串用于键..

示例键:

 01 bc 03 00 50 03 00 00 89 00 10 00 ff ff ff ff

这种钥匙也可以使用map.find()

还是我还有其他好容器?

谢谢:(

使用std::string构造函数,该构造器从char数组(而不是C弦(构建字符串。这需要两个参数 - 指向数组的指针和一个长度:

std::string x("pqrs"); // Two characters because input assumed to be C-String std::string x("pqrs",5); // 5 Characters as the input is now a char array with 5 characters.

这允许嵌入式空字符。

使用stl vector代替无符号char数组

注意:

如果您使用的是C 11并具有固定的字符长度,请使用std ::数组。如果您没有固定的长度或不使用C 11或以上的STD :: vector

相关内容

  • 没有找到相关文章

最新更新