从文本文件中复制特定行以创建新行

时间:2018-03-10 11:55:17

标签: matlab

我创建了一个功能,允许从文本文件中复制多行并创建一个新文件,让我们说我只想采用$$ElmLodlv和{{1}之间的数据}。

这是代码

$$ElmNet

问题是我真的不知道如何在与fID = fopen(fileName,'r'); tline=fgetl(fID) ; while isempty (strfind(tline,'$$ElmLodlv')) tline=fgetl(fID) ; end buffer = fread(fID,Inf) ; fclose(fID) ; fID=fopen(newFileName,'w'); fwrite(fID, buffer) ; fclose(fID); end 对应的行中停止我的缓冲区,换句话说,我的函数会创建一个从$$ElmNet到最后的新文件的文件。 任何想法如何做到这一点?

1 个答案:

答案 0 :(得分:0)

如何替代fread(fID,Inf)

buffer=0;
while ~feof(fID)
    tline=fgetl(fID);    
    if ~isempty (strfind(tline,'$$ElmNet'))
      break;
    end
    buffer(end+1:end+2+length(tline))=[tline 13 10];
end;
buffer=buffer(2:end);

请注意,[13 10]等于上面代码中的\n

希望它有所帮助!