В моем маленьком проекте я пытаюсь хэшировать некоторые растровые изображения, и растровые изображения выглядят так: «BMP1 / 0 растровые данныеMsgstr «Я использую хеш-библиотеку md5, которую я нашел в интернете, и она работает так же просто, как:
std::string md5(const std::string);
Проблема в том, что в середине памяти у меня есть разделитель строк, и если я пытаюсь создать строку из этой памяти, у меня может быть только первая часть, а не растровые данные. Итак, мой вопрос, могу ли я закончить строку здесь и взять в нее все данные. Заранее спасибо.
Если вы посмотрите на конструкторы, которые std::string
обеспечивает, вы обнаружите, что среди многих конструкторов, кроме конструктора, который принимает в качестве аргумента строку с нулевым символом в конце (5), есть конструктор, который принимает указатель на строку символов и количество символов (4). В описании конкретно упоминается, что указанная строка может содержать нулевые символы. Это означает, что нулевые символы не завершают строку.
Других решений пока нет …