C строка представляет собой завершенную нулем строку , поэтому любой массив символов, который не заканчивается на ноль, не является строкой C.
C строкаэто массив символов char *
или char []
Но что касается строк C ++, это класс, который имеет много операций (методов), которые могут произойти с ним, имеет длину и проверяет длину (например, C ++ vector
и array
), когда вы пытаетесь получить доступ к нижнему индексу массива (используя метод at
).Его копирование может быть более производительным, поскольку известна длина для выделения новой области памяти.
Вы можете создать std::string
из строки C.Существует конструктор, который берет строку C и длину и создает из них std :: string.
Все функции C, которые обрабатывают строки, обрабатывают строки C как завершенные нулем, так что если это не так, C будетпродолжайте искать ближайший следующий ноль, что крайне опасно.