省略c ++字符串中的空字符串终止符

时间:2016-10-25 07:07:50

标签: c++ string md5

在我的小项目中,我试图散列一些位图,位图如下:" BMP1 / 0 位图数据"。我正在使用我在互联网上找到的md5哈希库,它的工作方式很简单:

std::string md5(const std::string);

问题是,因为我在内存中间有一个字符串终止符,如果我尝试从这个内存中创建一个字符串,我只能得到第一部分而不是位图数据。所以,我的问题是,我可以在这里完成字符串并将整个数据放入其中。提前谢谢。

1 个答案:

答案 0 :(得分:4)

如果你看看constructors that std::string provides,你会发现在众多构造函数中,除了以空终止字符串作为参数(5)的构造函数之外,还有一个构造函数可以获取指针字符串和字符数(4)。该描述具体提到指向的字符串可以包含空字符。这意味着null characers不会终止字符串。