我的代码包含了一个循环,这个循环会有很多次,我每一次里面都使用了fopen,结果,前面几百次循环都是成功的,然后每次都会在中途出错,报Invalid file identifier. Use fopen to generate a valid file identifier这个错误
所以代码本身应该没有错,但是每次都在同一个地方报错很奇怪,我在网上也没有找到答案。
因为matlab的fopen会返回一个文件标示符,就是一个数字,当为-1就是打开失败,如果没有失败,就会返回正数(大于多少不清楚),我的每次报错的地方返回都是-1,所以我想想到可能是因为我每一次循环中的fopen都没有使用fclose,所以标示符不够了,所以就失败了
果然,我每一次迭代之后都使用fclose,问题就解决了