Здравствуйте, Programador, Вы писали:
P>Здравствуйте, Vamp, Вы писали:
А>>>Printf хорош своими скоростью, простотой и наглядностью, но небезопасен[/b]: нет ни проверки типов аргументов, ни размера буфера. Правда, первая проблема уже решена современными компиляторами
V>>Это как?
P>в GCC предупреждения выдаются. Приходится преобразования писать для проверочного поля после последнего или лишнюю переменную заводить
P>P> int a; bool onenumber;
P> onenumber= 1==sscanf("123?","%d%c",&a,(char*)&onenumber);
P>
GCC 4.3.2 и на перадачу std::string жалуется как на не-POD:
предупреждение: некорректная передача объекта не POD-типа ‘struct std::string’ через ‘...’;
вызов завершится аварийно во время выполнения
При ограничениях на размер исполняемого кода (для микроконтроллеров, ех.) приходится использовать printf/sprintf, потому что iostream уж больно громоздок.