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

omitting the null string terminator in c++ string

在我的小项目中,我试图散列一些位图,这些位图类似于:"BMP1 /0 bitmap data"。我正在使用我在互联网上找到的 md5 哈希库,它的工作原理很简单:

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

问题是,因为我在内存中间有一个字符串终止符,如果我试图从这个内存中创建一个字符串,我只能有第一部分而不是位图数据。所以,我的问题是,我能不能不把字符串写完,把整个数据都拿进去。提前致谢。

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