如果我运行下面的示例代码,我会在 Matlab 中得到一个无效的文件标识符错误:
for i = 1:99999
fid = fopen('test.txt','w');
fprintf(fid,'%s', 'Hello World!\r\n');
fclose(fid);
delete('test.txt');
end;
???使用 ==> fprintf 时出错 文件标识符无效。使用 fopen 生成有效的文件标识符。
有趣的是,如果我减少循环次数,我不会得到错误。我研究了这个问题,似乎没有一个导致错误的常见问题(错误的文件路径、损坏的文件、文件不存在、文件已在使用中)是罪魁祸首,因为如果我将循环更改为10 而不是 99999。
经过进一步研究,Matlab Forum Post,似乎问题可能与配额有关(我认为配额与操作系统有关,在我的情况下,Windows 10 不允许程序在一定数量的文件之后写入文件是由同一个程序编写的吗?)。
如何增加配额?有解决办法吗?我在 Windows 10 上使用 Matlab 2010a。
我也尝试在管理员模式下运行 Matlab,但没有成功。