Это даст UB, если вы передадите строковый литерал (что показывает OP ...)

ли способ печатать только часть строки?

Например, если у меня есть

char *str = "hello there";

Есть ли способ просто напечатать"hello", имея в виду, что подстрока, которую я хочу напечатать, имеет переменную длину, а не всегда 5 символов?

Я знаю, что я мог бы использоватьfor петля иputchar или что я мог бы скопировать массив и затем добавить нулевой терминатор, но мне интересно, есть ли более элегантный способ?

Ответы на вопрос(1)

Ваш ответ на вопрос