dwww Home | Manual pages | Find package

CURLOPT_WRITEDATA(3)        Library Functions Manual       CURLOPT_WRITEDATA(3)

NAME
       CURLOPT_WRITEDATA - pointer passed to the write callback

SYNOPSIS
       #include <curl/curl.h>

       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WRITEDATA, void *pointer);

DESCRIPTION
       A  data  pointer  to  pass  to  the  write callback. If you use the CUR-
       LOPT_WRITEFUNCTION(3) option, this is the pointer you get in that  call-
       back's fourth and last argument. If you do not use a write callback, you
       must  make pointer a 'FILE ' (cast to 'void ') as libcurl passes this to
       fwrite(3) when writing data.

       The internal CURLOPT_WRITEFUNCTION(3) writes the  data  to  the  FILE  *
       given with this option, or to stdout if this option has not been set.

       If you are using libcurl as a Windows DLL, you MUST use a CURLOPT_WRITE-
       FUNCTION(3) if you set this option or you might experience crashes.

DEFAULT
       stdout

PROTOCOLS
       This functionality affects all supported protocols

EXAMPLE
       A  common  technique  is to use the write callback to store the incoming
       data into a dynamically growing allocated buffer,  and  then  this  CUR-
       LOPT_WRITEDATA(3)  is  used  to point to a struct or the buffer to store
       data in. Like in the getinmemory example: https://curl.se/libcurl/c/get-
       inmemory.html

HISTORY
       This option was formerly known as CURLOPT_FILE, the name  CURLOPT_WRITE-
       DATA(3) was added in 7.9.7.

AVAILABILITY
       Added in curl 7.9.7

RETURN VALUE
       This returns CURLE_OK.

SEE ALSO
       CURLOPT_HEADERDATA(3), CURLOPT_READDATA(3), CURLOPT_WRITEFUNCTION(3)

libcurl                            2026-07-12              CURLOPT_WRITEDATA(3)

Generated by dwww version 1.16 on Fri Oct 2 16:01:37 CEST 2026.