数据列表=sscanf(待读取数据字符串,格式字符串),详见help
sscanf可以有三个参数,第三个参数是指定匹配几个数据。默认尽可能多的匹配直到结束或出错。
在格式化字符串中,有多种占位符(占位符的概念类似C语言)。
%d/%i/%ld/%li都是读取有符号整数的。
%d表示十进制,%i表示自动(0x开头是16进制,只有0开头是8进制),%ld/%li针对长整型。
%u/%o/%x/%lu/%lo/%lx都是针对无符号整数的。
%u是10进制,%o是8进制,%x是16进制。后三个对应长整型。
%f/%e/%g对应浮点型。单双精度不区分。
%s读取字符串(遇到空格结束),%c读取一个字符(空格也算)。
如果要跳过某一个匹配的数据,在%后加*.
如,跳过空格读取下一个字符A,将空格匹配项写成%*c
如,A= sscanf(z, '%*s %d %d %d',[1,3]);
% 按照格式 '%*s %d %d %d' 转换数据并存入矩阵 A 中,表示跳过第一个空格前的字符串,[1-3]为集合操作,表示制定匹配第1到3个数据