如何在Matlab中打开文本文件并覆盖其中的一部分(不存储数据但使用fgetl跳过行)

时间:2016-01-25 10:06:47

标签: matlab text

我想在Matlab中打开一个文本文件并覆盖其中的一部分。我不想存储数据,因为它是一个巨大的文件,但我想通过使用fgetl(或类似的命令)跳过第一个n = 213021行,然后删除其余的并用我的数据覆盖它。我正在尝试下面的代码,但由于一些奇怪的原因,命令fprintf不写任何东西。我在屏幕上打印了跳过getl的行,看起来我在正确的位置。但是,没有用fprintf写的东西。这是一个最小的例子:

data =50:10:100;
n=4; 
fid = fopen('example.txt','r+')
for i=1:n
     fgetl(fid); %skips first n lines
end
fprintf(fid,'%i \r\n',data);
fclose(fid)

示例文件最初显示为:

1
2
3
4
5
6
7
8
9
10

在运行上面的代码之后,它应该是:

1
2
3
4
50
60
70
80
90
100

但文本文件实际上没有变化。任何线索?

1 个答案:

答案 0 :(得分:2)

the documentation所述,您必须在读取和写入操作之间调用identify result.png result.png PNG 400x400 400x400+0+0 8-bit sRGB 418B 0.000u 0:00.000

fseek