数据我有以下功能:Matlab的:打印在特定的行
function [] = Write(iteration)
status=close('all');
nomrep=num2str(iteration);
fid=fopen('ID.dat','a');
frewind(fid);
for l=1:iteration
line=fgetl(fid);
end
fprintf(fid,[nomrep,' \n']);
status=fclose(fid);
end
我希望Write(15)
在15日线的begining连续行创建ID.dat并打印2和15。
但是将这些值始终打印在文件的开头。
即使我单独尝试了fgetl(fid)
,并且也替换为循环,while循环仍然无效。
是不是因为我应该在那之前用一些虚拟空间来填充行?沿边这,我执行
for i=1:5 Write(i); end
这应该打印1至5中的每一行,但即使这是行不通的。
网上我发现了另一种方式,即使不工作 '函数[] =写2(迭代)' '状态=关闭( '所有'); nomrep = num2str(iteration); fid = fopen('ID.dat','w'); tline = fgets(fid); for l = 1:iteration tline = fgets(fid); 结束 fprintf(fid,[nomrep,'\ n']); status = fclose(fid); 结束 ' – Soyol