Jest to program konsolowy, jednak użyłem w nim funkcji z WinAPI. Problem z tym, że f-cja SetFileTime nie działa, tzn. zawsze zwraca fałsz. Nigdy nie zajmowałem się tak na "serio" WinAPI, dlatego może być to jakiś głupi błąd. Proszę o pomoc :)
Oto kod:
#include <errno.h>
#include <dirent.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include <windows.h>
int main() {
DIR *pdir;
dirent *pent;
char kat[30];
HANDLE plik;
printf("Podaj nazwe katalogu: ");
scanf("%s", kat);
pdir=opendir(kat);
if (!pdir){
printf ("Oooops");
getch();
exit(1);
}
errno=0;
pent=readdir(pdir);
pent=readdir(pdir);
pent=readdir(pdir);
LPSTR nazwapliku = pent->d_name;
printf("\n%s",nazwapliku);
plik = CreateFile(nazwapliku, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, 0);
FILETIME ft;
SYSTEMTIME st;
GetSystemTime(&st);
SystemTimeToFileTime(&st, &ft);
if( SetFileTime(plik, &ft, &ft, &ft) )
printf(" - zapisano\n");
else
printf(" - niezapisano\n");
if (errno){
printf ("Ooops");
getch();
exit(1);
}
CloseHandle(plik);
closedir(pdir);
getch();
}