glibc
GNU libc
Вывод пользовательских структур данных с помощью printf
Практически любой начинающий программист на C++ знает о такой возможности стандартных классов ввода/вывода C++ cin/cout как вывод/вывод пользовательских типов данных. Например если у вас есть ваш класс Widget то можно релизовать красивый вывод данных объекта этого класса:
Widget mywidget("mywidget");
cout << mywidget;
Откройте любой учебник по С++ на главе по перегрузке операторов и там доходчиво
все объясняют.
Но далеко не каждый профессиональный программист знает о примерно такой же возможности в C. В GNU libc имеется API для регистрации пользовательских форматов данных для printf.
В документации glibc описана эта замечательная возможность . Там же дан толковый пример .

