0

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

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

1 回答 1

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);
于 2012-11-09T20:23:01.777 回答