Вывод массива символов в C ++ с ненулевым символом
Я пытался вывести массив символов с ненулевым символом в конце.
Фактически, я получаю пакеты и затем печатаю их поля.
Теперь, когда эти поля не заканчиваются нулем, например, сегмент данных, который имеет размер 512, но может или не может быть полностью занят.
Когда я пишу эти данные в файл, я использую простой << перегруженная функция, которая ничего не знает о реальных данных и ищет только завершение сегмента данных.
Итак, как я могу сказать выходной функции писать только так многоконкретное количество байтов?
Вместо того, чтобы использовать что-то подобное, звонить каждый раз дорого:
enter code here
bytescopied = strncpy(dest, src, maxbytes);
if (bytescopied < 0) { // indicates no bytes copied, parameter error
throw(fit); // error handler stuff here
} else if (bytescopied == maxbytes) {
dest[maxbytes-1] = '\0'; // force null terminator
}