Unicode C
Unicode C
Append Bytes to a Remote FTP File (BinData)
See more FTP Examples
Demonstrates the Chilkat Ftp2.AppendFileBd method, which appends the bytes in a BinData to a remote file. The first argument is the remote filename and the second is the BinData. No conversion is performed.
Background: The binary append: add in-memory bytes to the end of a remote file without an intermediate local file and without any encoding or line-ending translation. It is the right choice for growing a binary file — concatenating captured data, for instance — where exact bytes matter.
Chilkat Unicode C Downloads
#include <C_CkFtp2W.h>
#include <C_CkBinDataW.h>
void ChilkatSample(void)
{
BOOL success;
HCkFtp2W ftp;
HCkBinDataW bd;
success = FALSE;
// Demonstrates the Ftp2.AppendFileBd method, which appends the bytes in a BinData to a remote
// file. The 1st argument is the remote filename and the 2nd is the BinData.
ftp = CkFtp2W_Create();
CkFtp2W_putHostname(ftp,L"ftp.example.com");
CkFtp2W_putUsername(ftp,L"myFtpLogin");
// Normally you would not hard-code the password in source. You should instead obtain it
// from an interactive prompt, environment variable, or a secrets vault.
CkFtp2W_putPassword(ftp,L"myPassword");
success = CkFtp2W_Connect(ftp);
if (success == FALSE) {
wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp));
CkFtp2W_Dispose(ftp);
return;
}
bd = CkBinDataW_Create();
success = CkBinDataW_LoadFile(bd,L"qa_data/more_data.bin");
if (success == FALSE) {
wprintf(L"%s\n",CkBinDataW_lastErrorText(bd));
CkFtp2W_Dispose(ftp);
CkBinDataW_Dispose(bd);
return;
}
success = CkFtp2W_AppendFileBd(ftp,L"data/collected.bin",bd);
if (success == FALSE) {
wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp));
CkFtp2W_Dispose(ftp);
CkBinDataW_Dispose(bd);
return;
}
wprintf(L"Appended %d bytes.\n",CkBinDataW_getNumBytes(bd));
success = CkFtp2W_Disconnect(ftp);
if (success == FALSE) {
wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp));
CkFtp2W_Dispose(ftp);
CkBinDataW_Dispose(bd);
return;
}
CkFtp2W_Dispose(ftp);
CkBinDataW_Dispose(bd);
}