I have a string const char[15]
and I want to print it like this:
Label-one: characters [0,13)
Label-two: characters [
printf( "%.13s", labelOne ); // stops after thirteen characters.
printf( "%.3s", &labelOne[ 13 ] ); // prints three characters of the string that starts at offset 13
I'm noticing a possible fencepost error/inconsistency in your question or my answer, depending on your point of view. The correct answer for the second example may be:
printf( "%.3s", &labelOne[ 12 ] );
printf("Label-one: %.*s", 13, str);
printf("Label-two: %.*s", 2, str + 13);
@Bob's answer is also acceptable if these lengths are constant, but in case the lengths are determined at runtime, this is the best approach since it parametrises them.