MATLAB: тип struct.name и strcmp

У меня есть следующий код:

шрифты = каталог('шрифты')

strcmp('BELL.TTF',fonts.name)

где dir('fonts') возвращает структуру 33x1, где каждая запись имеет имя (строку), дату и некоторые другие вещи. Я не могу понять, какой тип fonts.name (если это массив ячеек или что-то еще), и моя конечная цель - иметь возможность использовать strcmp для сравнения всех имен.


person Hanmyo    schedule 05.12.2010    source источник


Ответы (1)


fonts.name — это 33 отдельных массива символов. Вы хотите объединить их в массив ячеек, чтобы использовать его с strcmp.

В коде:

fonts = dir('fonts');
%# use curly brackets to combine the 33 strings into a cell array
tf = strcmp('BELL.TTF',{fonts.name})

tf — это логический массив с 1, где fonts.name равно 'BELL.TTF'

person Jonas    schedule 05.12.2010