Класс std::string
- это класс C ++, представляющий строку, которая может содержать нулевой символ. Его функции-члены, такие как find
, предназначены для обработки этих встроенных нулей.
strstr
(функция из C) работает с указателями char*
, которые указывают на C -строки в стиле. Поскольку строки в стиле C заканчиваются нулем, они не могут обрабатывать вложенные нули. Для этого strstr
задокументировано следующим образом:
Найти подстроку
Возвращает указатель на первое вхождение str2 в str1 или нулевой указатель, если str2 не является частью str1.
Процесс сопоставления не включает завершающие нулевые символы, но останавливается на этом.
Курсивная часть здесь важна .