我具有不同的功能(用于不同的数据类型)来写入一个日志文件。每秒调用一次这些函数以进行输入。 一段时间后,程序崩溃了
ret = fprintf(fptr_LogFile, "%s %f\n", buffer, f);
与:
“双重释放或腐败(出局)”“中止(核心被弃用)”。
使用strerror(errno)我得到了错误描述:
错误:文件解密器错误。
static FILE *fptr_LogFile;
void write_log(char *buffer)
{
fptr_LogFile = fopen(filename, "a");
if(fptr_LogFile == NULL)
{
// Log Entry
// do something
return;
}
ret = fprintf(fptr_LogFile, "%s", buffer);
if (ret < 0)
{
// Log Entry
// do something
}
ret = fclose(fptr_LogFile);
system("exec sync");
if (ret != 0)
{
// Log Entry
// do somthing
}
}
void write_log_f(char *buffer, float f)
{
fptr_LogFile = fopen(filename, "a");
if(fptr_LogFile == NULL)
{
// Log Entry
// do something
return;
}
ret = fprintf(fptr_LogFile, "%s %f\n", buffer, f);
if(ret < 0)
{
// Log Entry
// do something
}
ret = fclose(fptr_LogFile);
system("exec sync");
if (ret != 0)
{
// Log Entry
// do something
}
}
有人可以帮助我发现我的错误吗?非常感谢您的帮助。