2010-12-05 61 views
2

我有以下代碼:MATLAB:struct.name類型和strcmp的

字體= DIR( '字體')

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

其中dir('fonts')返回一個33x1結構,其中每個條目都有名稱(字符串),日期和其他一些東西。我找不出什麼類型的fonts.name(如果它是一個單元陣列或什麼),我的最終目標是能夠使用strcmp來比較所有名稱。

回答

4

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'