[討論] fscanf 讀檔問題已回收
關於 fscanf指令有些問題想請教一下
1.
讀取 set檔案時 format設定上會有些問題
想直接跳過第一行str直接讀取第二行
help裡面有提到 可以使用 %*s來忽略str 在讀取其他
但當我檔案第一行為 檔案通式 (例如:01P660-1980 的01P660-)
就會讀取到後面的 (例如 也就是說 加上* 只省略了第一個str
繼續讀取後面的str
我希望能寫成 直接跳過第一行的說明
也試過前面加上 \r\n code 變成 name=fscanf(set,'\n %d \b\n');
也是無法順利跳過第一行
想問有沒有向fortran 略過第一行 直接 讀取第二行的方法
2.
在format當中 若要讀取幾行就要放入相同數目的 %f
若我想讀去n行 例如15行 要如何 表示 %f*15??
P.S. FORTRAN 是在前面加上係數15 15F5.2
%資料整理 多個檔案 合成
set=fopen('set.txt','r');
name=fscanf(set,'%*s%s\b\n');
year_start =fscanf(set,'%*s%g\b');
year_end =fscanf(set,'%*s%g\b');
fclose(set);
n=0;
fid=fopen('result.txt','w');
for i=year_start:year_end
D=strcat(name,num2str(i),'.txt');
temp = load(D);
n=n+1;
N=strcat('#',num2str(n));
fprintf(fid,'%s\t\n',N);
fprintf(fid,'%1.0d \t %10d \t %f \t\n',temp');
end
fclose(fid);
set.txt 格式
檔案通式
01P660-
起始年份
1980
結束年份
2079
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.190.65
→
05/06 21:24, , 1F
05/06 21:24, 1F
→
05/07 19:50, , 2F
05/07 19:50, 2F
→
05/10 00:45, , 3F
05/10 00:45, 3F