Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по printf 
:(
    Опции темы
UserNet
Дата 21.2.2012, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 226
Регистрация: 13.12.2006
Где: Новосибирск

Репутация: нет
Всего: 3



Здравствуйте, возник такой вопрос
можно ли сделать  так?
Код

printf("%-strlen(name).strlen(name)s",name)

PM MAIL   Вверх
Фантом
Дата 21.2.2012, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 4
Всего: 49



Нет. Форматная строка - это именно строка, eval() в компилируемых языках не работает.  smile Но ее можно предварительно сформировать в нужном Вам виде.
PM   Вверх
Fynivx
Дата 21.2.2012, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 13.8.2011

Репутация: нет
Всего: 1



Может быть, имеется ввиду вот это?
Код

printf( "-%i.%i%s\n", strlen(name), strlen(name), name );


На выводе получим (если name=="name"):

-4.4name

-----
printf принимает произвольное количество параметров. Все кроме первого - произвольного типа. Первый - строковая константа, согласно которой форматируется вывод последующих параметров.
если сильно упростить, вот:
%s - строка
%i - целое число
%f - число с плавающей точкой.
И еще куча всяких прелестей, которые нужны для узкого профиля задач типа вывести число в шестнадцатиричном виде и тд.

Это сообщение отредактировал(а) Fynivx - 21.2.2012, 15:35
PM MAIL   Вверх
Фантом
Дата 21.2.2012, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 4
Всего: 49



Цитата(Fynivx @  21.2.2012,  16:28 Найти цитируемый пост)
Может быть, имеется ввиду вот это?

Больше похоже, что нужен именно изменяемый формат. Другое дело, что смысл его именно в таком виде не очень понятен... короче говоря, как обычно, спрашивать лучше не "можно ли сделать так?", а "как сделать то-то?".
PM   Вверх
feodorv
Дата 21.2.2012, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 12
Всего: 45



Цитата(Фантом @  21.2.2012,  16:42 Найти цитируемый пост)
короче говоря, как обычно, спрашивать лучше не "можно ли сделать так?", а "как сделать то-то?". 

Это точно)))

Цитата(Fynivx @  21.2.2012,  15:28 Найти цитируемый пост)
Может быть, имеется ввиду вот это?

А мне вот показалось, что имеется в виду такое:
Код

printf( "%-*s", size1, name);
printf( "%-.*", size2, name);
printf( "%-*.*s", size1, size2, name);



--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0609 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.