|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
7 V' f1 \8 x) [2 l- D9 m; n
textscan 的用法与 fscanf 类似,建议先将 fscanf 的用法弄清楚再来看 textscan。
# h8 e+ ]$ p* Q& H7 |$ o
, G2 ^1 A/ X7 X+ t! o3 z4 u# E0 ~$ M
( r X0 e7 T B8 T9 |5 ^9 N# n# Ptextscan 常见用法:
& _+ u. X. ~ S4 ^0 @- C = textscan(fileID,formatSpec)
- C = textscan(fileID,formatSpec,N)' ?; f' D0 m4 ]4 b
8 Q. c3 X( p2 h1 P# W( h! ]- Y1 c; y! O4 l
同 fscanf 一样,fileID 为文件标识符,formatSpec 为格式字符串。N 则是重复匹配formatSpec 的次数。
4 s# m/ F }) g6 B8 m与 fscanf 不同的是, textscan 将每个与 formatSpec 转义说明符匹配出来的数据都用一个元胞进行存储。并且 textscan 有很多选项提供,比如 ’Headerlines’ ,可以指定跳过文件的前n行; ’Delimiter’ 可以指定分隔符等等。
% G1 E# J v) h0 t9 A- O; j6 o) b8 R+ d& R, w
, F4 l$ ~7 P9 }) R/ h$ I% N
例:文本文件test.txt包含以下数据:
1 J1 ]8 N( Q; a" {7 c, [" D0 U
9 E) n2 T' n" b16。2。3。13
0 i! z* w3 B4 O* d5。11。10。8$ k/ k* M. j" r% w4 `' t
9。7。6。12( ^, x' L! ~1 y3 [# I8 Z
4。14。15。1
5 d2 Z+ `! x8 y6 I! e
) ^) J! _3 E/ R' r* M
- N3 n* `! p7 b6 Y' m5 s' H- 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
- 16 I6 K8 b6 G4 y
4 Q! v' i, Y4 }0 `1 c/ K
|
|