Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Спецификаторы функции printf |
Автор: savigm 17.4.2009, 18:25 | ||
В исодниках на Си обнаружил функцию printf, в которой пытались вывести битовое поле, вот аналогичный вызов:
Однако вместо значений выводятся пробелы. Кроме того описание спецификатора %b я не обнаружил даже в стандарте ISO C, при это программа без ошибок и предупреждений компилируется. У кого какие идеи по этому вопросу? |
Автор: cutwater 17.4.2009, 18:40 | ||
Какой компилятор, версия, ос, опции компиляции? У меня лично gcc версия 4.3.3 (Ubuntu 4.3.3-5ubuntu4) Выдает предупреждение
Как C так и С++. И выводит исходную строку. |
Автор: zim22 17.4.2009, 18:56 | ||
msvc 2008 в консоль выводит:
|
Автор: inside_pointer 18.4.2009, 03:30 |
zim22, да ты в стандарте найди это, только не в майкрософтовском стандарте, потому что таких нет, а в стандарте языка, к которому майкрософт никакого отношения не имеет |
Автор: J0ker 18.4.2009, 07:32 |
при чем тут компилятор-то, а тем более ось раз в стандарте нет, значит и вопроса такого нет - нет такого спецификатора |
Автор: cutwater 18.4.2009, 08:52 |
Нестандартные расширения еще никто не отменял как бы. Да и мало ли чего в коде привидится. |
Автор: J0ker 18.4.2009, 20:43 |
как показывает практика, отступление от стандарта жестоко карается анафемой вашими приемниками ![]() |
Автор: azesmcar 20.4.2009, 10:14 | ||
Ну не то чтобы всегда, если к примеру пишите только под Windows и код предназначен для Visual Studio - можно и написать..Для кого-то же пишут эти дополнения ![]() |
Автор: xvr 20.4.2009, 13:50 |
Судя по спецификации это код с какого то микроконтролера - обычно там используются разные битово ориентированные расширения. Так что никакая VS и Windows здесь никаким боком не при чем ![]() И со стандартом там поступают несколько фривольно ![]() |