http://en.cppreference.com/w/cpp/utility/to_chars
Ссылка ничего не говорит об этом, но пример (для меня) явно использует строку с завершающим нулевым символом, иначе как он мог знать, где остановиться, поскольку std::array::data
возвращает только указатель.
#include <iostream>
#include <charconv>
#include <array>
int main()
{
std::array<char, 10> str{};
std::to_chars(str.data(), str.data()+str.size(), 42);
std::cout << str.data();
}
К сожалению, я не могу проверить его сам, потому что AFAIK не поддерживает его компилятор: https://en.cppreference.com/w/cpp/compiler_support
Изменение: Забыл, что str
инициализируется нулями, однако вопрос по-прежнему имеет значение.