2015-10-16 2 views
3

При использовании Printf как это:С - Printf - удалить ведущие нули

printf("%.*ju ", size_length, (uintmax_t) thing->fts_statp->st_size); 

Это добавляет ведущие нули, чтобы сделать thing->fts_statp->st_size длину size_length (что-то приемлемо потому, что его правильный размер, но визуально непривлекательным). Есть ли способ распечатать информацию о размере с помощью printf, которая не делает этого?

EDIT для получения дополнительной информации:

В настоящее время он печатает так:

00012 

00234 

51234 

01203 

00001 

Я хотел бы, чтобы это напечатать

12 

    234 

51234 

1203 

    1 
+0

Возможно, вы можете рассмотреть showin g пример того, как он выглядит в настоящее время, а также то, что вы хотите, чтобы он выглядел. В противном случае любые полученные вами ответы могут быть искажены другими интерпретациями вашего описания, что не всегда срабатывает, даже когда описание становится ясным. – mah

+0

@mah только что отредактировал его, спасибо за предложение – user3475234

+0

Не является ли ведущим 0 восьмеричным представлением в C? – MohitC

ответ

2

Если вы просто хотите пространство отступы:

printf("% *ju ", size_length, (uintmax_t) thing->fts_statp->st_size); 
Смежные вопросы