[問題] 讀檔時從特定數字開始?

看板MATLAB作者 (shin)時間12年前 (2012/07/02 16:49), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
今有一檔案(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

07/02 23:05, , 1F
全部讀出來,再find,最後再取出資料範圍?
07/02 23:05, 1F

07/04 11:51, , 2F
用fgetl先把前面n-1筆讀出來,接下來第n筆開始就是你要的
07/04 11:51, 2F

07/05 11:15, , 3F
我知道可以用fgetl,但是我想要可以直接輸入數字
07/05 11:15, 3F

07/05 11:15, , 4F
不想特地去算行數
07/05 11:15, 4F
透過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)
文章代碼(AID): #1FyM2Ibm (MATLAB)