#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <sys/stat.h>
// Crea la cartella se non esiste già, ritorna 0 se non è possibile crearla
int create_dir(const char* dirName)
{
struct stat st;
int ret = 1;
if (stat(dirName,&st) != 0)
ret = (mkdir(dirName, S_IRWXU) == 0);
return ret;
}
// Ritorna il nome della cartella di oggi e prova a crearla
int get_today_dir(char* dirName)
{
time_t now;
struct tm *info;
time(&now);
info = localtime(&now);
sprintf(dirName, "%d-%02d-%02d", (info->tm_year + 1900), (info->tm_mon + 1), info->tm_mday);
return create_dir(dirName);
}
int get_today_subdir(const char* subDirName, char* fullDirName)
{
if (!get_today_dir(fullDirName))
return 0;
strcat(fullDirName, subDirName);
return create_dir(fullDirName);
}
int get_today_invoice_dir(char* dirName)
{
return get_today_subdir("/scontrini", dirName);
}
int get_today_orders_dir(char* dirName)
{
return get_today_subdir("/comande", dirName);
}
int main()
{
char dir[120];
if (!get_today_dir(dir))
{
printf("Impossibile creare la cartella, potresti non avere i permessi necessari");
return 1;
}
// in dir si trova il percorso alla cartella di oggi e.g. 2022-07-03
get_today_invoice_dir(dir);
// adesso in dir si trova il percorso alla cartella degli scontrini di oggi e.g. 2022-07-03/scontrini
get_today_orders_dir(dir);
// adesso in dir si trova il percorso alla cartella delle comande di oggi
return 0;
}