C语言写了一个write_log函数以写日志,写了一个close_log_file函数以关闭日志,声明了一个日志文件全局变量文件指针plogFile。
write_log中首先判断plogFile是否为NULL,如果不为NULL,则直接引用plogFile写日志信息;
如果为NULL,则打开以当天日期为后缀的日志文件,并赋值给plogFile,然后写日志信息。
close_log_file中调用fclose(plogFile)关闭日志文件指针。
一开始没有在关闭后置plogFile为NULL,导致下次调用write_log时判断plogFile不为空,从而不能正常打开一个新的日志文件,如此直接引用已关闭的plogFile写日志时出现段错误。
所以应在close_log_file调用fclose(plogFile)关闭文件后,再将plogFile置为NULL(plogFile=NULL),以便下次正常调用write_log。