Использование спецификатора ширины с printf без переменной - PullRequest
1 голос
/ 30 января 2020

Я работаю над проектом для моего C Класса программирования. Я знаю, что при указании ширины в выражении printf WITH переменной, это будет выглядеть так:

printf("%03d\n", tvQuantity);

Если 3 - ширина, а 0 - то, что мы хотим, чтобы число предшествовало 0 .

Мой вопрос: как бы я определил ширину в выражении printf, где я не вызываю переменную? Например, чтобы добавить ширину 6 к следующему оператору:

printf("Text here");

Поскольку не существует спецификатора формата (например,% d), куда бы я поместил свою ширину и другие аргументы форматирования?

1 Ответ

2 голосов
/ 30 января 2020

printf("Text here"); не нуждается в ширине. Он просто напечатает Text here.

Вы можете написать его как printf("%6s", "Text here"), но это ничего не изменит, поскольку ширина минимальна, а текст длиннее 6 символов.

Если Вы хотите заполнить текст, скажем, с шириной 20, вы можете написать printf("%20s\n", "Text here"). Это может быть полезно, если строка была определена в константе.

Для форматирования текста в столбцах вы должны использовать несколько форматов %s в одном printf.

printf("%20s %20s %20s\n", "Cell 1", "Cell 2", "Cell 3");
...