matlab 行 读取文件 跳过_matlab-Textscan在行首跳过所需的空白

习狐若
2023-12-01

要运行某些软件,我使用的是.txt输入文件,需要使用Matlab进行操作.

我知道该怎么做,而且我没想到会有问题.由于无法正常工作,我将操作脚本减少到最低限度,因此实际上没有任何更改.除了一些空格,其他软件似乎对此非常敏感.

我文件的一部分看起来像这样:

...

*CONTROL_TERMINATION

$# endtim endcyc dtmin endeng endmas

1.000000 0 0.000 0.000 0.000

*CONTROL_TIMESTEP

$# dtinit tssfac isdo tslimt dt2ms lctm erode ms1st

0.000 0.900000 0 0.000 -1.000E-4 0 0 0

$# dt2msf dt2mslc imscl

0.000 0 0

...

我正在将其加载到Matlab,然后直接将其再次保存而不进行更改:

% read original file

fid = fopen('filename.txt','r');

param = textscan(fid,'%s','delimiter','

');

rows = param{1,1};

fclose(fid);

% overwrite to new file

fid = fopen('filename.txt','w');

fprintf(fid, '%s

', rows{:});

fclose(fid);

输出文件在每一行的开头都缺少空格,这似乎是输入文件和输出文件的唯一区别. (至少我希望如此)

...

*CONTROL_TERMINATION

$# endtim endcyc dtmin endeng endmas

1.000000 0 0.000 0.000 0.000

*CONTROL_TIMESTEP

$# dtinit tssfac isdo tslimt dt2ms lctm erode ms1st

0.000 0.900000 0 0.000 -1.000E-4 0 0 0

$# dt2msf dt2mslc imscl

0.000 0 0

...

尽管对我来说似乎很奇怪,但这应该是原因-我可以更改什么,两个文件看起来100%相同?我遇到的问题是空格的长度不同.

 类似资料: