Buonasera a tutti! Cerco un aiuto per il seguente codice... Praticamente vorrei salvare su un file un flag per segnalare al programma stesso se questo sia stato lanciato già altre volte in modo da non richiedere la registrazione di un account amministratore... In teoria pensavo che non riuscendo ad aprire il file in lettura (se è la prima volta che eseguo il programma) il primo if è soddisfatto quindi rientro nel secondo... stranamente non riesce a creare il file! Premetto che se provo a commentare tutto e lascio solo "file = fopen(CONFIG, "w")" il file viene creato tranquillamente... Chiedevo dunque (visto che su windows un codice molto simile mi andava alla grande, ma adesso sono su ubuntu con gcc perchè lunedì ho un esame)... Quale può essere l'errore? Grazie in anticipo, Giuseppe..
codice:
#define CONFIG "/home/giuseppe/Orale/config.dat"
/*
main e codice vario...
*/
int lcf(){
FILE *file;
int j;
if ((file = fopen(CONFIG, "r")) == NULL){
if((file = fopen(CONFIG, "W")) == NULL){
printf(ERROR2);
return -1;
} else {
fprintf(file, "%d", 1);
fclose(file);
return 0;
}
} else {
fscanf(file, "%d", &j);
j +=1;
file = fopen(CONFIG, "w");
fprintf(file, "%d", j);
fclose(file);
return j;
}
}