## NAME

         curl_maprintf,  curl_mfprintf, curl_mprintf, curl_msnprintf,
         curl_msprintf curl_mvaprintf, curl_mvfprintf, curl_mvprintf,
         curl_mvsnprintf,  curl_mvsprintf  - formatted output conver
         sion

## SYNOPSIS

         #include <curl/mprintf.h>

         int curl_mprintf(const char *format, ...);
         int curl_mfprintf(FILE *fd, const char *format, ...);
         int curl_msprintf(char *buffer, const char *format, ...);
         int curl_msnprintf(char  *buffer,  size_t  maxlength,  const
         char *format
         int curl_mvprintf(const char *format, va_list args);
         int  curl_mvfprintf(FILE  *fd,  const  char *format, va_list
         args
         int curl_mvsprintf(char *buffer, const char *format, va_list
         args
         int  curl_mvsnprintf(char  *buffer,  size_t maxlength, const
         char *format
         char *curl_maprintf(const char *format, ...);
         char *curl_mvaprintf(const char *format, va_list args);

## DESCRIPTION

         These are all functions that produces output according to  a
         format  string  and given arguments. These are mostly clones
         of the well-known C-style functions and  there  will  be  no
         detailed  explanation  of all available formatting rules and
         usage here.

         See this table for notable exceptions.

              curl_mprintf()
                   Normal printf() clone.

              curl_mfprintf()
                   Normal fprinf() clone.

              curl_msprintf()
                   Normal sprintf() clone.

              curl_msnprintf()
                   snprintf() clone. Many systems don't have this. It
                   is  just  like  sprintf but with an extra argument
                   after the buffer that specifies the length of  the
                   target buffer.

              curl_mvprintf()
                   Normal vprintf() clone.

              curl_mvfprintf()
                   Normal vfprintf() clone.

              curl_mvsprintf()
                   Normal vsprintf() clone.

              curl_mvsnprintf()
                   vsnprintf()  clone.  Many systems don't have this.
                   It is just like vsprintf but with an  extra  argu
                   ment after the buffer that specifies the length of
                   the target buffer.

              curl_maprintf()
                   Like printf() but returns the output string  as  a
                   malloc()ed  string.  The  returned  string must be
                   free()ed by the receiver.

              curl_mvaprintf()
                   Like curl_maprintf() but takes a  va_list  pointer
                   argument  instead  of  a  variable amount of argu
                   ments.

         To easily use all these cloned functions instead of the nor
         mal  ones,  #define  _MPRINTF_REPLACE before you include the
         <curl/mprintf.h>  file.  Then  all  the  normal  names  like
         printf,  fprintf,  sprintf  etc  will use the curl-functions
         instead.

## RETURN VALUE

         The curl_maprintf  and  curl_mvaprintf  functions  return  a
         pointer to a newly allocated string, or NULL it it failed.

         All  other  functions  return  the  number of character they
         actually outputed.

## SEE ALSO

         printf(3), sprintf(3), fprintf(3),