我想在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
但文本文件实际上没有变化。任何线索?
答案 0 :(得分:2)
如the documentation所述,您必须在读取和写入操作之间调用identify result.png
result.png PNG 400x400 400x400+0+0 8-bit sRGB 418B 0.000u 0:00.000
。
fseek