作者xj04a83 (shin)
看板MATLAB
標題[問題] 讀檔時從特定數字開始?
時間Mon Jul 2 16:49:19 2012
今有一檔案(text.txt)如下
0 51.8
0.05 3.5
0.10 -3.7
0.15 10.2
. .
. .
. .
108000.05 20.1
如果想要從特定數字(ex. 3015.10)那行開始讀取
到另一特定數字(ex. 4103.05)那行
該如何寫呢?
雖然可以算出特定行是在第幾行
不過想問問有沒有方法是可以直接輸入數字就跳到那行開始讀取的指令呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.99.210
1F:推 ak075:全部讀出來,再find,最後再取出資料範圍? 07/02 23:05
2F:推 winse:用fgetl先把前面n-1筆讀出來,接下來第n筆開始就是你要的 07/04 11:51
3F:→ xj04a83:我知道可以用fgetl,但是我想要可以直接輸入數字 07/05 11:15
4F:→ xj04a83:不想特地去算行數 07/05 11:15
透過google大神
我找到一個方法
file = fopen('text.txt');
startstring = '3015.10';
while 1
tline = fgetl(file);
if ~ischar(tline) || strcmp(tline,startstring)
break
end
end
fclose(file);
但是我不知道該把fscanf加在哪裡...
加在while裡面,跑出來的是沒被fgetl讀過的資料
放在while後面,跑出來的又是空矩陣
※ 編輯: xj04a83 來自: 140.114.99.210 (07/05 13:37)