У меня есть буфер необработанных значений, скажем, void* buffer
или лучше, char* buffer
- поток необработанных байтов, например, считанный из файла.Я бы хотел, чтобы байты в буфере были представлены и отображены несколькими способами, например, как float
или как long long
во время выполнения.Я бы попросил пользователя указать желаемую строку формата, например, %10d
, и передать строку формата в printf()
.Однако в printf()
нет спецификаторов формата, поэтому можно ожидать нетипизированный (или поток байтов) буфер в качестве второго аргумента?
Как я могу сказать printf()
получить ожидаемые данные из буфера и отобразить их в соответствии с заданной строкой формата?Я не хотел бы использовать switch-case
или if-then
деревья.