Buonasera,
ho implementato la seguente funzione che mi permette di estratte da una data di tipo string nel seguente formato : “gg/mm/aaaa” i relativi valori numerici di gg,mm ed aaaa i quali poi vado a confrontare per effettuare un confronto tra due date.
int differenza_DateChar(char *data_1, char *data_2) {
char data_Temp1[11], data_Temp2[11];
strcpy(data_Temp1, data_1);
strcpy(data_Temp2, data_2);
int data_1Convertita[3], data_2Convertita[3]; // due vettori da 3 elementi : gg,mm,aaaa
char *tok_1 = strtok(data_Temp1, "/");
int i = 0;
for (i = 0; i < 3; i++) {
data_1Convertita[i] = atoi(tok_1);
tok_1 = strtok(NULL, "/");
}
char *tok_2 = strtok(data_Temp2, "/");
for (i = 0; i < 3; i++) {
data_2Convertita[i] = atoi(tok_2);
tok_2 = strtok(NULL, "/");
}
return differenza_Date(data_1Convertita[0], data_1Convertita[1], data_1Convertita[2], data_2Convertita[0],
data_2Convertita[1], data_2Convertita[2]);
}
Il problema è che se inserisco, ad esempio, le seguenti date :
22/7/2023 e 24/6/2025
nel momento in cui vado a controllare il valore, ad esempio, nella posizione 0 di data_1Convertita[0] non ottengo 22 ma un numero casuale. Stessa cosa vale per l estrazione di mm ed aaaa delle due date.
Formalmente penso di aver scritto bene, sapete darmi un suggerimento di qualche rettifica da fare?
Grazie mille