Sto scrivendo un programma abbastanza semplice per uso personale, ma voglio davvero assicurarmi di usare le buone pratiche, soprattutto se decido di renderlo più robusto più avanti o qualcosa del genere.Quali sono le migliori pratiche per l'I/O dei file in C?
Per tutti gli effetti, il programma accetta alcuni file di input come argomenti, li apre utilizzando fopen()
letti dai file, fa cose con tali informazioni e quindi salva l'output come alcuni file diversi in una sottocartella. ad esempio, se il programma è in ~/program
allora i file di output vengono salvati in ~/program/csv/
Ho appena uscita direttamente ai file, ad esempio output = fopen("./csv/output.csv", "w");
, stampano su di esso con fprintf(output,"%f,%f", data1, data2);
in un ciclo, e poi chiudere con fclose(output);
e mi sento così è una cattiva pratica.
Devo salvarlo in una directory temporanea mentre viene scritto e quindi spostato quando è finito? Dovrei usare librerie di i/o file più avanzate? Sto solo pensando completamente a questo?
Per qualcosa di così semplice, penso che tu stia pensando troppo. Se sei l'unico processo (o thread) che scrive sul/i file/i, allora non c'è bisogno di ulteriore lavoro. –
Benvenuti in Stack Overflow. Si prega di leggere [FAQ] prima troppo a lungo. Questa potrebbe essere una domanda senza una risposta precisa. Per la maggior parte, quello che stai facendo va bene. Una directory temporanea è probabilmente overkill. Potresti voler controllare che 'fclose()' funzioni; in caso contrario, si presuppone che il file non sia stato creato correttamente e che probabilmente dovrebbe rimuoverlo. Potresti voler controllare ogni operazione di output; questo è il modo teoricamente corretto di farlo. Ovviamente, devi controllare 'fopen()' da quando ti blocchi se non lo fai. –