Unicode C
Unicode C
Get FTP Directory Listing Information
See more FTP Examples
_LANGUAGE_ example showing how to get information about files and subdirectories in the current remote FTP directory.Chilkat Unicode C Downloads
#include <C_CkFtp2W.h>
void ChilkatSample(void)
{
BOOL success;
HCkFtp2W ftp;
int i;
int n;
success = FALSE;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
ftp = CkFtp2W_Create();
CkFtp2W_putHostname(ftp,L"ftp.example.com");
CkFtp2W_putUsername(ftp,L"login");
CkFtp2W_putPassword(ftp,L"password");
// Connect and login to the FTP server.
success = CkFtp2W_Connect(ftp);
if (success != TRUE) {
wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp));
CkFtp2W_Dispose(ftp);
return;
}
// The ListPattern property is our directory listing filter.
// The default value is "*", which includes everything.
wprintf(L"%s\n",CkFtp2W_listPattern(ftp));
// To get file and sub-directory information, simply
// loop from 0 to ftp.GetDirCount() - 1
n = CkFtp2W_GetDirCount(ftp);
if (n < 0) {
wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp));
CkFtp2W_Dispose(ftp);
return;
}
if (n > 0) {
for (i = 0; i <= n - 1; i++) {
// Display the filename
wprintf(L"%s\n",CkFtp2W_getFilename(ftp,i));
// Display the file size (in bytes)
wprintf(L"%d\n",CkFtp2W_GetSize(ftp,i));
// Is this a sub-directory?
if (CkFtp2W_GetIsDirectory(ftp,i) == TRUE) {
wprintf(L".. this is a sub-directory\n");
}
wprintf(L"--\n");
}
}
wprintf(L"-----------------------------------\n");
// Only files and directories
// matching the ListPattern are returned.
CkFtp2W_putListPattern(ftp,L"*.asp");
n = CkFtp2W_GetDirCount(ftp);
if (n < 0) {
wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp));
CkFtp2W_Dispose(ftp);
return;
}
if (n > 0) {
for (i = 0; i <= n - 1; i++) {
// Display the filename
wprintf(L"%s\n",CkFtp2W_getFilename(ftp,i));
// Display the file size (in bytes)
wprintf(L"%d\n",CkFtp2W_GetSize(ftp,i));
wprintf(L"--\n");
}
}
success = CkFtp2W_Disconnect(ftp);
CkFtp2W_Dispose(ftp);
}