Использование size_t для указания точности строки в printf

У меня есть структура для представления строк в памяти, которая выглядит следующим образом:

typedef struct {
    size_t l;
    char   *s;
} str_t;

Я считаю, что использование size_t имеет смысл для указания длины строки char. Я также хотел бы распечатать эту строку с помощью printf ("%. * S \ n", str.l, str.s) . Однако точность * требует аргумента int , а не size_t . Я не смог найти ничего подходящего по этому поводу. Есть ли способ правильно использовать эту структуру без преобразования int в вызове printf () ?

6
задан Luci Stanescu 10 November 2011 в 22:50
поделиться