要运行某些软件,我使用的是.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%相同?我遇到的问题是空格的长度不同.