Установить ширину столбца переменной текста в printf

Чтобы определить размер столбца на языке C, мы используем %d . Например, я могу набрать %3d и он даст мне столбец шириной = 3. Моя проблема в том, что мой номер после % – это переменная, которую я получаю, поэтому мне нужно что-то вроде %xd (где x – целочисленная переменная, которую я получил когда-то раньше в моей программе). Но это не работает.

Есть ли другой способ сделать это?

Вы можете сделать это следующим образом:

 printf("%*d", width, value); 

Из комментария Ли:
Вы также можете использовать * для размера точности:

 printf("%*.*f", width, precision, value); 

Просто для полноты, хотелось бы упомянуть, что с версиями printf() совместимыми с POSIX, вы также можете поместить фактическое значение ширины поля (или точности) в другое место в списке параметров и ссылаться на него с использованием номера параметра на основе 1, за которым следует знак доллара:

Ширина поля или точность, или и то, и другое могут указываться звездочкой «*» или звездочкой, за которой следует одна или несколько десятичных цифр и «$» вместо цифры. В этом случае аргумент int предоставляет ширину или точность поля. Отрицательная ширина поля рассматривается как левый флажок регулировки, за которым следует положительная ширина поля; отрицательная точность трактуется так, как будто она отсутствует. Если директива одного формата смешивает позиционные (nn $) и непозиционные аргументы, результаты не определены.

Например, printf ( "%1$*d", width, value );

  • Как узнать размер сеанса в ASP.NET из веб-приложения?
  • Использование jQuery для получения размера windows просмотра
  • Выбор размера System.Drawing.Icon?
  • C # FileStream: оптимальный размер буфера для записи больших файлов?
  • Определите размер слова моего процессора
  • Проверка размера объекта в Objective-C
  • Различные размеры шрифтов строк в том же TextView
  • Использование GhostScript для получения размера страницы
  • Как я могу получить размер файла в C?
  • Разница между опциями передачи в aes () и за ее пределами в ggplot2
  • Масштабируйте ImageIcon автоматически до размера метки
  • Interesting Posts

    Настройки DNS ISPConfig

    Как смонтировать диск VMWare в 64-разрядной версии Windows 7

    Джерси ClientResponse.getEntity общего типа

    Почему в магазине Google Play говорится, что мое приложение для Android несовместимо с моим собственным устройством?

    Как контролировать импорт CSV в Excel 2010

    Как я могу отключить компьютер через определенное время?

    Что означает :: (двойной двоеточие) в пакетных файлах DOS?

    Образец RegEx: любые две буквы, за которыми следуют шесть номеров

    Использование функций из нескольких столбцов в вызове dplyr mutate_at

    Значок ошибки EditText и отображаемый пароль

    Колесо мыши прокручивает страницу вниз или вверх или вниз

    Расширение не может содержать хранимое свойство, но почему статическое разрешено

    Пользовательская команда Django и cron

    В чем разница между библиотечными файлами и модулями?

    Объявления переменных в файлах заголовков – статические или нет?

    Давайте будем гением компьютера.