Imprimir parte de una cadena en C

¿Hay alguna manera de imprimir solo parte de una cadena?

Por ejemplo, si tengo

char *str = "hello there";

¿Hay alguna manera de imprimir"hello", teniendo en cuenta que la subcadena que quiero imprimir es de longitud variable, ¿no siempre 5 caracteres?

Sé que podría usar unfor bucle yputchar o que podría copiar la matriz y luego agregar un terminador nulo, pero me pregunto si hay una manera más elegante.

Respuestas a la pregunta(4)

Su respuesta a la pregunta