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

时间:2012-11-09 18:38:31

标签: matlab

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

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

1 个答案:

答案 0 :(得分:0)

您可以使用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);