General information
Category:
Coding, syntax & commands
Title:
Oldest File Revisited...
Hello,
Thanks Neil for your help before Igot it sorted but now I am having problems with part two.
This code is going into a DLL but I put it in a console app for easier debugging. What I am trying to do is return the oldest file in a folder. I need this to call from an Oracle Procedure (to pick up text files and process them).
I can't seem to figure out how to find the oldest file in the directory maybe someone can help.
I am having problems with this section of code:
while( _findnext( hFile, &c_file ) == 0 )
{
newtime = c_file.time_write;
if(ctime(&oldtime) > ctime(&newtime)){
oldtime = newtime;
result= c_file.name;
n=n+1;
}
}
It correctly moves through the current directory I can see via the print lines. But the comparison if(ctime(&oldtime) > ctime(&newtime)) or if(oldtime > newtime) never evaluates to true when by my accounts it should.
Any ideas.
**********************************************************************************************
The entire program is included here.
BTW I noticed that the includes don't show up in messages in this formum so I included:
stdio.h,io.h,time.h,Windows.h,direct.h,comdef.h,iostream.h
****************************************************************************************************
#include
#include
#include
#include
#include
#include
#include
int main(int argc, char* argv[])
{
//example Oldest('c:\temp','*.txt')
static struct _finddata_t c_file;
long hFile;
char *result;
int n;
n=1;
if( (hFile = _findfirst("*.*", &c_file )) == -1L )
{
result="No files!";
}
else
{
result = c_file.name;
//Store oldest time...
time_t oldtime;
time_t newtime;
oldtime=c_file.time_write;
//need to get oldest file....
while( _findnext( hFile, &c_file ) == 0 )
{
newtime = c_file.time_write;
printf( " %.24s \n",
ctime( &( newtime ) ));
printf("\t %d\n",ASSERT(ctime(&oldtime) > ctime(&newtime)));
if(ctime(&oldtime) > ctime(&newtime)){
oldtime = newtime;
result= c_file.name;
printf( " %.24s \n",
ctime( &( oldtime ) ));
printf( " %-12s\n",result);
n=n+1;
}
}
//end new code for oldest file
//
//qsort( c_file, (size_t)n+1, sizeof( char * ),compare );
}
_findclose(hFile);
printf( " %-12s\n",result);
printf( "\t %d\n\n", n );
return 0;
}
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only