Matlab 如何在前几行之后插入一行文本

Matlab 如何在前几行之后插入一行文本,matlab,Matlab,我知道如何在其他用户要求的文件开头插入一行文本,但我需要在文件的8行之后插入一行 dlmwrite('extract_f.txt',['first line' 13 10 fileread('extract_f2.txt')],'delimiter',''); 您可以使用fgetl读取和跳过行。以下内容将尊重第8行之前的行中的现有内容,并通过插入新行增加行索引,以便在行数小于该值时到达第8行: fid = fopen('file.txt', 'r+t'); nLines = 8; l = 0;

我知道如何在其他用户要求的文件开头插入一行文本,但我需要在文件的8行之后插入一行

dlmwrite('extract_f.txt',['first line' 13 10 fileread('extract_f2.txt')],'delimiter','');

您可以使用
fgetl
读取和跳过行。以下内容将尊重第8行之前的行中的现有内容,并通过插入新行增加行索引,以便在行数小于该值时到达第8行:

fid = fopen('file.txt', 'r+t');
nLines = 8; l = 0;
while l < nLines
    l = l + 1;
    s = fgetl(fid); % read line
    if ~ischar(s)||isempty(s)
        fprintf(fid, '\n'); % skip empty lines and last 
    end    
end
fprintf(fid, 'this is line %i', nLines);
fclose(fid);
fid=fopen('file.txt','r+t');
nLines=8;l=0;
而l
不适用于我,我注意到我的matlab版本没有提到r+t作为可能的参数,但当我将其更改为r+时,文件中没有写入任何内容。@Dennis Jaheruddin尝试r+t,即使它没有列为参数。选中/ref/fopen.html#inputarg_permission“要以文本模式打开文件,请将字母“t”附加到权限,如“rt”或“wt+”