Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Функция sprintf
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
-SANYCH-
Как заставить функцию sprintf((char*)Input,"%05s",Tempbuff) писать в массив Input лидирующие нули перед числом в место пробелов?
IAR 5.30
SSerge
%s выводит строку (Tempbuff должен быть указателем на char), какие ещё ведущие нули?
Вот "%05d" - другое дело, он выведет не менее пяти цифр с ведущими нулями, но и Tempbuff тогда предполагается типа int.
-SANYCH-
тогда %05s и например %2.5s – какая разница?
MrYuran
Цитата(-SANYCH- @ Jul 27 2009, 16:08) *
тогда %05s и например %2.5s – какая разница?

Первое будет работать, второе - нет
-SANYCH-
В IARе работает и то и другое, во только не так как надо.
HARMHARM
Цитата(-SANYCH- @ Jul 27 2009, 15:08) *
тогда %05s и например %2.5s – какая разница?

%05s это вообще ерунда.
%2.5s это вывод строки из минимум двух, максимум 5 символов.
%05d вывод 5 знаков числа типа int, дополненного нулями
%2.5d вывод минимум двух, максимум 5 знаков. Если меньше двух знаков, ИМХО дополнится нулями.
А вообще читайте wiki. Подробнее, чем там, написать сложно.
mdmitry
Цитата(-SANYCH- @ Jul 27 2009, 16:08) *
тогда %05s и например %2.5s – какая разница?

Керниган, Ритчи. Язык программирования Си. раздел 7.2. Подробно описан форматный ввод-вывод с примерами.
zltigo
Цитата(-SANYCH- @ Jul 27 2009, 14:33) *
Как..

Moderator:
Потрудитесь не захламлять основные ветки форума детскими вопросами. Перенес.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.