C
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 C Downloads
#include <C_CkFtp2.h>
void ChilkatSample(void)
{
BOOL success;
HCkFtp2 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 = CkFtp2_Create();
CkFtp2_putHostname(ftp,"ftp.example.com");
CkFtp2_putUsername(ftp,"login");
CkFtp2_putPassword(ftp,"password");
// Connect and login to the FTP server.
success = CkFtp2_Connect(ftp);
if (success != TRUE) {
printf("%s\n",CkFtp2_lastErrorText(ftp));
CkFtp2_Dispose(ftp);
return;
}
// The ListPattern property is our directory listing filter.
// The default value is "*", which includes everything.
printf("%s\n",CkFtp2_listPattern(ftp));
// To get file and sub-directory information, simply
// loop from 0 to ftp.GetDirCount() - 1
n = CkFtp2_GetDirCount(ftp);
if (n < 0) {
printf("%s\n",CkFtp2_lastErrorText(ftp));
CkFtp2_Dispose(ftp);
return;
}
if (n > 0) {
for (i = 0; i <= n - 1; i++) {
// Display the filename
printf("%s\n",CkFtp2_getFilename(ftp,i));
// Display the file size (in bytes)
printf("%d\n",CkFtp2_GetSize(ftp,i));
// Is this a sub-directory?
if (CkFtp2_GetIsDirectory(ftp,i) == TRUE) {
printf(".. this is a sub-directory\n");
}
printf("--\n");
}
}
printf("-----------------------------------\n");
// Only files and directories
// matching the ListPattern are returned.
CkFtp2_putListPattern(ftp,"*.asp");
n = CkFtp2_GetDirCount(ftp);
if (n < 0) {
printf("%s\n",CkFtp2_lastErrorText(ftp));
CkFtp2_Dispose(ftp);
return;
}
if (n > 0) {
for (i = 0; i <= n - 1; i++) {
// Display the filename
printf("%s\n",CkFtp2_getFilename(ftp,i));
// Display the file size (in bytes)
printf("%d\n",CkFtp2_GetSize(ftp,i));
printf("--\n");
}
}
success = CkFtp2_Disconnect(ftp);
CkFtp2_Dispose(ftp);
}