Escribes en el Foro de C, por lo que no te puedo dar una solución completa, pero supongo que habrá algo parecido a como se hace en Delphi.
Mediante FindFirst..FindNext..FindClose puedes recorrer los archivos de una carpeta.
Esos archivos quedan en una estructura:
Código Delphi
[-]
TSearchRec = record
Time: Integer;
Size: Integer;
Attr: Integer;
Name: TFileName;
ExcludeAttr: Integer;
FindHandle: THandle;
FindData: TWin32FindData;
end;
Esa estructura tiene el campo Time, que te servirá para saber cual es el fichero más nuevo.
Sería algo parecido a esto:
Código Delphi
[-]
var
sr: TSearchRec;
FileAttrs: Integer;
TimeMenor integer;
ArchivoMasNuevo : string;
begin
...
FileAttrs := faAnyFile;
if FindFirst(EditCarpeta.Text, FileAttrs, sr) = 0 then
begin
repeat
if (sr.Time < TimeMenor) then
ArchivoMasNuevo = sr.Name;
until FindNext(sr) <> 0;
FindClose(sr);
end;
end;
end;