私は個人的な使い方のためのかなり基本的なプログラムを書いていますが、実際には良い習慣を使っているかどうかを確認したい、特に後でもっと頑強にすることを決めた場合。CでのファイルI/Oのベストプラクティスは何ですか?
プログラムは引数としていくつかの入力ファイルを受け入れ、ファイルから読み取ったfopen()
を使用してファイルを開き、その情報を使用して、出力をいくつかの異なるファイルとしてサブフォルダに保存します。プログラムは~/program
で、出力ファイルは~/program/csv/
に保存されている場合例えば、私は、ファイルに直接出力だけ、たとえばoutput = fopen("./csv/output.csv", "w");
ため、ループ内fprintf(output,"%f,%f", data1, data2);
でそれを印刷し、その後、fclose(output);
との緊密なと私は感じますそれは悪い習慣です。
書き込み時に一時ディレクトリに保存する必要がありますか?終了時に移動する必要がありますか?より高度なファイルI/Oライブラリを使用する必要がありますか?私はちょうどこれを完全にoverthinkingですか?
これは単純なことですが、あなたはそれを思い知らされていると思います。ファイルへの唯一のプロセス(またはスレッド)の作成者であれば、余分な作業は必要ありません。 –
ようこそスタックオーバーフロー。あまりにも長い間[FAQ]をお読みください。これは正確な答えがなければ問題になるかもしれません。ほとんどの場合、あなたがやっていることは大丈夫です。一時的なディレクトリはおそらく過剰です。 'fclose()'が機能することを確認したいかもしれません。そうでない場合は、ファイルが正しく作成されていないと想定し、おそらくそれを削除する必要があります。各出力操作を確認することができます。それは理論的に正しい方法です。明らかに、 'fopen()'をチェックする必要があります。 –