Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Unicode C) FTP Upload / Download to StringBuilderDemonstrate how to upload from a Chilkat StringBuilder object, and download into a StringBuilder object.
#include <C_CkFtp2W.h> #include <C_CkStringBuilderW.h> void ChilkatSample(void) { HCkFtp2W ftp; BOOL success; HCkStringBuilderW sbA; BOOL bIncludeBOM; const wchar_t *remoteFilename; HCkStringBuilderW sbB; BOOL bCaseSensitive; // This example assumes Chilkat Ftp2 to have been previously unlocked. // See Unlock Ftp2 for sample code. ftp = CkFtp2W_Create(); CkFtp2W_putHostname(ftp,L"www.my-ftp-server.com"); CkFtp2W_putUsername(ftp,L"mFtpLogin"); CkFtp2W_putPassword(ftp,L"myFtpPassword"); // Connect to the FTP server. success = CkFtp2W_ConnectOnly(ftp); if (success != TRUE) { wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp)); CkFtp2W_Dispose(ftp); return; } // Authenticate with the FTP server. success = CkFtp2W_LoginAfterConnectOnly(ftp); if (success != TRUE) { wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp)); CkFtp2W_Dispose(ftp); return; } sbA = CkStringBuilderW_Create(); CkStringBuilderW_LoadFile(sbA,L"qa_data/hamlet.xml",L"utf-8"); // Upload the contents of sbA to the FTP server. bIncludeBOM = FALSE; remoteFilename = L"hamletFromSb.xml"; success = CkFtp2W_PutFileSb(ftp,sbA,L"utf-8",bIncludeBOM,remoteFilename); if (success != TRUE) { wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp)); CkFtp2W_Dispose(ftp); CkStringBuilderW_Dispose(sbA); return; } // Download... sbB = CkStringBuilderW_Create(); success = CkFtp2W_GetFileSb(ftp,remoteFilename,L"utf-8",sbB); if (success != TRUE) { wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp)); CkFtp2W_Dispose(ftp); CkStringBuilderW_Dispose(sbA); CkStringBuilderW_Dispose(sbB); return; } // Verify that sbA and sbB have the exact same contents. wprintf(L"size of sbA: %d\n",CkStringBuilderW_getLength(sbA)); bCaseSensitive = TRUE; if (CkStringBuilderW_ContentsEqualSb(sbA,sbB,bCaseSensitive) == TRUE) { wprintf(L"Contents are equal. Success.\n"); } else { wprintf(L"Contents are NOT equal. Failed.\n"); } CkFtp2W_Disconnect(ftp); CkFtp2W_Dispose(ftp); CkStringBuilderW_Dispose(sbA); CkStringBuilderW_Dispose(sbB); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.