|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
3 e* |' M$ l9 g$ u! o7 t. l1 c$ Y4 @) {
textscan 的用法与 fscanf 类似,建议先将 fscanf 的用法弄清楚再来看 textscan。
r- x" ?& w t. w% {3 n% b$ w: X. o X$ w
9 J0 t9 e& a/ y( Y
textscan 常见用法:
: }5 p% r. S) C- C = textscan(fileID,formatSpec)
- C = textscan(fileID,formatSpec,N)
7 X4 k0 _7 L# ^7 v : I: _% w% E; p) `" f3 Y
. T0 |/ D3 s1 [3 e# E* u同 fscanf 一样,fileID 为文件标识符,formatSpec 为格式字符串。N 则是重复匹配formatSpec 的次数。# E' y/ v" Z. S; y& z% z; m
与 fscanf 不同的是, textscan 将每个与 formatSpec 转义说明符匹配出来的数据都用一个元胞进行存储。并且 textscan 有很多选项提供,比如 ’Headerlines’ ,可以指定跳过文件的前n行; ’Delimiter’ 可以指定分隔符等等。/ I( K: p4 _% D1 N% K0 K" O8 Y1 Z
, S7 I y' r$ ~5 Y
5 `8 T4 _+ x& C2 [' Q' |" s例:文本文件test.txt包含以下数据:
% J- B1 q: K+ L3 z, c4 {
* |% k% K C& }) y N16。2。3。13
& D$ b; x3 q% _) ?6 m7 I/ W5 s5。11。10。8
! f1 H8 K! `0 H4 f5 ?" j" w' h9。7。6。120 D" G+ N8 Z( v+ F3 q/ Y
4。14。15。11 x- R, P8 K# `5 S" |
1 k) u+ b1 z, X3 B9 U
4 m& Z& t9 |* T- 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
- 1
) u; {7 f) |' U( ^; a 3 P A: R. b$ w2 @7 F' U9 ~
|
|