exponenta event banner

scanstr

Считывание данных с прибора, форматирование в виде текста и синтаксический анализ

Синтаксис

A = scanstr(obj)
A = scanstr(obj,'delimiter')
A = scanstr(obj,'delimiter','format')
[A,count] = scanstr(...)
[A,count,msg] = scanstr(...)

Аргументы

obj

Объект интерфейса.

'delimiter'

Один или несколько разделителей, используемых для синтаксического анализа данных.

'format'

Спецификация преобразования языка C.

A

Данные считываются с прибора и форматируются как текст.

count

Число прочитанных значений.

msg

Сообщение, указывающее, не удалась ли операция чтения.

Описание

A = scanstr(obj) считывает отформатированные данные из прибора, подключенного к obj, анализирует данные с помощью запятой и разделителя с запятой и возвращает данные в массив ячеек A. Каждый элемент массива ячеек определяется как двойной или символьный вектор.

A = scanstr(obj,'delimiter') анализирует данные в отдельные переменные на основе указанных delimiter. delimiter может быть односимвольным или символьным векторным массивом. Если delimiter является векторным массивом символов, то каждый символ в массиве используется в качестве разделителя.

A = scanstr(obj,'delimiter','format') преобразует данные в соответствии с указанным format. A может быть матрицей или массивом ячеек в зависимости от format. См. раздел textread для получения подробной информации. format - строка, содержащая спецификации преобразования языка C.

Спецификации преобразования включают символ% и символы преобразования d, i, o, u, x, X, f, E, g, G, c и s. См. sscanf спецификации формата ввода-вывода файла или руководство C для получения полной информации.

Если format не указан, то выбран наилучший формат (либо двойной, либо символьный вектор).

[A,count] = scanstr(...) возвращает число значений, считанных с count.

[A,count,msg] = scanstr(...) возвращает предупреждающее сообщение msg если операция чтения не была успешно завершена.

Примеры

Создание объекта GPIB g связан с платой National Instruments ® с индексом 0 и первичным адресом 2 и подключенg к осциллографу Tektronix ® TDS 210.

g = gpib('ni',0,2);
fopen(g)

Возврат идентификационной информации к отдельным элементам массива ячеек с использованием разделителей по умолчанию.

fprintf(g,'*IDN?');
idn = scanstr(g)
idn = 
    'TEKTRONIX'
    'TDS 210'
    [        0]
    'CF:91.1CT FV:v1.16 TDS2CM:CMV:v1.04'

Совет

Перед считыванием данных из прибора его необходимо подключить к obj с fopen функция. Подключенный объект интерфейса имеет Status значение свойства open. При попытке выполнить операцию чтения во время obj не подключен к прибору.

Если msg не включен в качестве выходного аргумента, и операция чтения не была выполнена, после чего в командную строку возвращается предупреждающее сообщение.

ValuesReceived значение свойства увеличивается на количество считываемых значений, включая признак конца, каждый раз scanstr выдается.

Примечание

Чтобы получить список опций, которые можно использовать для функции, нажмите клавишу Tab после ввода функции в командной строке MATLAB ®. Список расширяется, и можно выполнить прокрутку для выбора свойства или значения. Сведения об использовании этой расширенной функции завершения вкладки см. в разделе Использование функции завершения вкладки для функций.

Вопросы совместимости

развернуть все

Не рекомендуется начинать с R2019b

Не рекомендуется начинать с R2020b

Не рекомендуется начинать с R2020b

Не рекомендуется начинать с R2020b

Не рекомендуется начинать с R2021a

См. также

Функции

Свойства

Представлен до R2006a