On Thursday, 4 August 2016 at 21:03:52 UTC, Mark "J" Twain wrote:
How can I construct a va_list for vsprintf when all I have is
the a list of pointers to the data, without their type info?
A va_list seems to be a packed struct of values and/or pointers
to the data. While I could construct such a list,
theoretically, I don't always know when I should store an
element as a pointer or a value.
e.g., ints, floats, and other value types seems to get stored
directly in the list, while strings and *other* stuff get
stored as pointers.
I would be nice if a printf variant listed takes only a pointer
list to all the values, does anything like this exist?
If not, is there any standardization of what is a value in the
list and what is a pointer so I can attempt to build the list
properly?
What I have done is built up the data serially, storing pointers
for strings and otherwise copying the data. It works, a little
messy, but works.