|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
$ d4 E, f% ~1 P9 f( ^5 _1 a
textscan 的用法与 fscanf 类似,建议先将 fscanf 的用法弄清楚再来看 textscan。3 _9 N- y o5 }% E7 W
, z7 X$ J/ q3 a- [' p
+ D' L: a: I* o& ^+ `7 j
textscan 常见用法:, q! G4 H; f. d+ A: N$ q0 V
- C = textscan(fileID,formatSpec)
- C = textscan(fileID,formatSpec,N)' x+ ]$ Q0 z" @9 X4 m# B
5 P* m* y7 i+ ^" U/ P; T% ?
9 N, ~' L* p" J( T同 fscanf 一样,fileID 为文件标识符,formatSpec 为格式字符串。N 则是重复匹配formatSpec 的次数。
. S0 {; U, S# e9 J$ U) e$ L与 fscanf 不同的是, textscan 将每个与 formatSpec 转义说明符匹配出来的数据都用一个元胞进行存储。并且 textscan 有很多选项提供,比如 ’Headerlines’ ,可以指定跳过文件的前n行; ’Delimiter’ 可以指定分隔符等等。. F& n, D( \& x9 n' G$ L: q
0 V5 C( f0 Q+ w2 x2 o5 {2 r- N& E
2 O5 \0 \# L5 `9 }; T) T3 a
例:文本文件test.txt包含以下数据:
- z4 j$ f* @- b1 f
: Y% A4 `+ |) G+ L* |; @16。2。3。13
7 _8 k( L6 t) Y( ^' G5。11。10。8* ~* Y8 Y. B# B7 N: x
9。7。6。121 `$ e* U5 M# M/ f
4。14。15。1. Z& `* |' y" B; ^/ d
3 _( k' }* r1 t' V
K( U3 M% s4 A+ r, H$ j) V, l% W- fid = fopen('F:\test.txt');
- formatSpec = '%d'
- A = textscan(fid,formatSpec,'delimiter','。'); %指定’。’为分隔符,如果不指定分隔符的话,就需要把formatSpec写成'%d。%d。%d。%d' 。
- fclose(fid);
- celldisp(A)
- A{1} =
- 16
- 2
- 3
- 13
- 5
- 11
- 10
- 8
- 9
- 7
- 6
- 12
- 4
- 14
- 15
- 18 f$ K, ~3 {& @- B" Y$ B+ Z0 E% R
1 o+ U: U0 A) ] |
|