您的位置首页生活百科

MATLAB如何使用sscanf从字符串读取数据

MATLAB如何使用sscanf从字符串读取数据

的有关信息介绍如下:

MATLAB如何使用sscanf从字符串读取数据

介绍MATLAB中的sscanf函数,可以根据格式化字符串从字符串中读取数据。

首先,sscanf的基本用法如图,数据列表=sscanf(待读取数据字符串,格式字符串)

sscanf可以有两个返回值,第二个返回值是成功读取的元素个数。

sscanf最多可以有4个返回值,第三个返回值是错误字符串,第四个返回值是读取成功的下一个字符位置。

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对应浮点型。单双精度不区分。

另外,如果要跳过固定字符,比如从'pi≈3.14'中读取3.14,格式化字符串照抄为'pi≈%f'即可。

%s读取字符串(遇到空格结束),%c读取一个字符(空格也算)。

如果要跳过某一个匹配的数据,在%后加*.

如图,跳过空格读取下一个字符A,将空格匹配项写成%*c

注意,对于多维字符数组会沿着第一维读取而不是按行读取。