CURLOPT_TRANSFERTEXT(3) Introduction to Library Functions
CURLOPT_TRANSFERTEXT - request a text based transfer for FTP
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TRANSFERTEXT, long text);
A parameter set to 1 tells the library to use ASCII mode for FTP
transfers, instead of the default binary transfer. For Win32 systems
it does not set the stdout to binary mode. This option can be usable
when transferring text data between systems with different views on
certain characters, such as newlines or similar.
libcurl does not do a complete ASCII conversion when doing ASCII
transfers over FTP. This is a known limitation/flaw that nobody has
rectified. libcurl simply sets the mode to ASCII and performs a
standard transfer.
0, disabled
This functionality affects all supported protocols
int main(void)
{
CURL *curl = curl_easy_init();
if(curl) {
CURLcode result;
curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/textfile");
curl_easy_setopt(curl, CURLOPT_TRANSFERTEXT, 1L);
result = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
}
Added in curl 7.1.1
curl_easy_setopt(3) returns a CURLcode indicating success or error.
CURLE_OK (0) means everything was OK, non-zero means an error
occurred, see libcurl-errors(3).
CURLOPT_CRLF(3)
libcurl 2026-01-08 CURLOPT_TRANSFERTEXT(3)
NAME
CURLOPT_TRANSFERTEXT - request a text based transfer for FTP
SYNOPSIS
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TRANSFERTEXT, long text);
DESCRIPTION
A parameter set to 1 tells the library to use ASCII mode for FTP
transfers, instead of the default binary transfer. For Win32 systems
it does not set the stdout to binary mode. This option can be usable
when transferring text data between systems with different views on
certain characters, such as newlines or similar.
libcurl does not do a complete ASCII conversion when doing ASCII
transfers over FTP. This is a known limitation/flaw that nobody has
rectified. libcurl simply sets the mode to ASCII and performs a
standard transfer.
DEFAULT
0, disabled
PROTOCOLS
This functionality affects all supported protocols
EXAMPLE
int main(void)
{
CURL *curl = curl_easy_init();
if(curl) {
CURLcode result;
curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/textfile");
curl_easy_setopt(curl, CURLOPT_TRANSFERTEXT, 1L);
result = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
}
AVAILABILITY
Added in curl 7.1.1
RETURN VALUE
curl_easy_setopt(3) returns a CURLcode indicating success or error.
CURLE_OK (0) means everything was OK, non-zero means an error
occurred, see libcurl-errors(3).
SEE ALSO
CURLOPT_CRLF(3)
libcurl 2026-01-08 CURLOPT_TRANSFERTEXT(3)