Как бы вы преобразовали std::string_view
в строку c с завершающим нулем? Я передал string_view
в функцию, и мне нужно передать его в другую функцию, которая принимает параметр const char*
. Однако, глядя на эту документацию для string_view
, там говорится
data()
может возвращать указатель на буфер, который не завершается нулем. Поэтому, как правило, ошибочно передаватьdata()
подпрограмме, которая принимает толькоconst CharT*
и ожидает строку с завершающим нулем.
Есть ли способ правильно получить строку c с нулевым завершением из string_view
?
zstring_view
. Если строковое представление не ссылается на строку с завершающим нулем, любой метод ее создания будет относительно дорогим. - person chris   schedule 07.01.2018const string&
вместо этого? Если я все равно буду строить строку? Я знаю, что всегда буду передавать этой функцииstd::string
или строковый литерал - person Jeffmagma   schedule 07.01.2018string_view
? Если бы ответ на этот вопрос был утвердительным,string_view::substr
не смог бы вернутьstring_view
. - person Nicol Bolas   schedule 07.01.2018