作者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)