On 10/17/07, Andrew Haley <[EMAIL PROTECTED]> wrote:
> Macy Gasp writes:
>  > On 10/17/07, Macy Gasp <[EMAIL PROTECTED]> wrote:
>  > > On 10/17/07, Andrew Haley <[EMAIL PROTECTED]> wrote:
>  > > > Macy Gasp writes:
>  > > >  > Hi everybody,
>  > > >
>  > > > Read the Fine Manual:
>  > > >
>  > > >
>  > > >        int vsprintf(char *str, const char *format, va_list ap);
>  > > >
>  > > >        The functions vprintf(), vfprintf(), vsprintf(), vsnprintf()
>  > > >        are equivalent to the functions printf(), fprintf(), sprintf(),
>  > > >        snprintf(), respectively, except that they are called with a
>  > > >        va_list instead of a variable number of arguments. These
>  > > >        functions do not call the va_end macro. C onsequently, the value
>  > > >        of ap is undefined after the call. The application should call
>  > > >        va_end(ap) itself afterwards.
>  > > >
>  > > >
>  > > > Andrew.
>  > > >
>  > >
>  > > Thanks for the answer, I missed that part :( .
>  > > Thanks to the other Andrew too , for his answer :)
>  > >
>  >
>  > By the way, I need a suggestion...  I want to write a "format_string"
>  > function in C++, like this:
>  >
>  > std::string  format_string(const char* format, va_list args);
>  >
>  > This has an internal static buffer in which I try 1st to vsnprintf().
>  > If it overflows, I dynamically allocate a suitable buffer and try
>  > vsnprintf again.
>  >
>  > The problem is that I'd need to va_copy the args variable in order to
>  > re-use it for the second vsnprintf; but this isn't portable on Windows
>  > using cl (probably other platforms too)...
>  >
>  > Any ideas on how I could solve this?
>
> Why are you ignoring my request:
>
> This is not appropriate for the gcc list, which is for gcc developers.
> Please ask such questions on [EMAIL PROTECTED]
>
> Do you expect people to help you if you behave like this?

I'm terribly sorry, I haven't seen that...
Switching mailing list...
My apologies.

Reply via email to