У меня есть строка const char[15], и я хочу напечатать ее так:
const char[15]
Метка-один: символов [0,13) Две метки: символов [13, 15)
Как я могу напечатать только определенные части строки?
printf("Label-one: %.*s", 13, str); printf("Label-two: %.*s", 2, str + 13);
@ Ответ Боба также приемлем, если эти длины постоянны, но в случае, если длины определены во время выполнения, это лучший подход, поскольку он параметризует их.
printf( "%.13s", labelOne ); // stops after thirteen characters. printf( "%.3s", &labelOne[ 13 ] ); // prints three characters of the string that starts at offset 13
Я заметил возможную ошибку / несоответствие в вашем вопросе или ответе, в зависимости от вашей точки зрения. Правильный ответ для второго примера может быть:
printf( "%.3s", &labelOne[ 12 ] );