C
C
Get Number of FIles in Directory, not including sub-directories
See more FTP Examples
_LANGUAGE_ example demonstrating how to get the number of files in a directory not including sub-directories.Chilkat C Downloads
#include <C_CkFtp2.h>
void ChilkatSample(void)
{
BOOL success;
HCkFtp2 ftp;
int i;
int n;
int fileCount;
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));
// Fetch the current remote directory contents by
// calling GetDirCount
n = CkFtp2_GetDirCount(ftp);
if (n < 0) {
printf("%s\n",CkFtp2_lastErrorText(ftp));
CkFtp2_Dispose(ftp);
return;
}
if (n > 0) {
// Loop over the directory contents, incrementing the count
// each time it is NOT a directory.
fileCount = 0;
for (i = 0; i <= n - 1; i++) {
// Is this NOT a sub-directory?
if (CkFtp2_GetIsDirectory(ftp,i) != TRUE) {
fileCount = fileCount + 1;
// Display the filename
printf("%s\n",CkFtp2_getFilename(ftp,i));
}
}
printf("Total number of files = %d\n",fileCount);
}
success = CkFtp2_Disconnect(ftp);
CkFtp2_Dispose(ftp);
}