我正在为个人使用编写一个相当基本的程序,但我真的希望确保我使用良好的实践方法,特别是如果我决定以后将其变得更加健壮。
就所有目的而言,该程序接受一些输入文件作为参数,使用fopen()
打开它们并读取文件,对该信息进行处理,然后将输出保存为子文件夹中的几个不同文件。例如,如果程序在~/program
中,则输出文件将保存在~/program/csv/
中。
我直接输出到文件,例如output = fopen("./csv/output.csv", "w");
,在循环中使用fprintf(output,"%f,%f", data1, data2);
进行打印,然后使用fclose(output);
关闭,我觉得这是不好的实践。
在写入时,我应该将其保存在临时目录中,然后在完成时将其移动吗?我应该使用更高级的文件I/O库吗?还是我完全在过度思考?
fclose()
是否起作用;如果不起作用,则必须假设文件未被正确创建,并应该将其删除。您可能要检查每个输出操作;这是理论上正确的方式。显然,你必须检查fopen()
,否则程序会崩溃。 - Jonathan Leffler