LibAIFF 库中有这个函数:
AIFF_Ref AIFF_OpenFile(const char* name, int flags);
它接受 aconst char*
但供我使用,名称必须是 a 类型,char*
因为我需要根据我的 AIFF 文件在我的目录中的位置(我可以正确完成)来构建它 - 具体来说,在我的情况下,名称是 AIFF 文件小路。
但我认为我因此遇到了一些问题(虽然我不确定)。当我发送函数 a 时会发生什么char*
?我注意到的不良行为发生在关联AIFF_CloseFile
函数中,该函数遇到一些问题,这些问题似乎是基于我发送给它的文件路径随机出现的。例如,如果我有完全相同的 AIFF 文件,其中两个名称仅更改了一个字母,则错误(这与AIFF_CloseFile
尝试释放在已释放或尚未释放的结构中定义的缓冲区有关)分配)发生在其中一个而不是另一个。如果我注释掉对关闭文件函数的调用,一切正常,因为 AIFF 文件已成功打开并读取,但我不应该这样做。
任何帮助都感激不尽。谢谢