Это даст UB, если вы передадите строковый литерал (что показывает OP ...)
ли способ печатать только часть строки?
Например, если у меня есть
char *str = "hello there";
Есть ли способ просто напечатать"hello"
, имея в виду, что подстрока, которую я хочу напечатать, имеет переменную длину, а не всегда 5 символов?
Я знаю, что я мог бы использоватьfor
петля иputchar
или что я мог бы скопировать массив и затем добавить нулевой терминатор, но мне интересно, есть ли более элегантный способ?