2016-01-03 22 views
0

我使用下面的代碼Matlab的錯誤:DATAREAD其次輸入必須是一個文件名或字符串解析

text=get(handles.edit1, 'string'); %get editbox text 

    [A]=strread(text,'%s','delimiter',' '); 

試圖灑字符串編輯框,但它給誤差

Error using ==> dataread Second input must be a filename or string to parse.

Error in ==> strread at 51 [varargout{1:nlhs}]=dataread('string',varargin{:});

如果我直接傳遞字符串到strread [A]=strread('Hello folks','%s','delimiter',' '); 然後它工作正常。

爲什麼它不能使用editbox。請幫幫我。

+0

什麼尺寸/類型'text'的? – nkjt

+0

你的'get'不能像你期望的那樣工作。寫: 'get'作爲代碼的第二行來打印內容。 你確定你的編輯命名爲'edit1'嗎? –

+0

呵呵,寫'text'來打印它 –

回答

1

我沒有Matlab,但我有GNU octave,它通常具有類似的功能。

圖和編輯創建代碼from link

% Create the figure 
mFigure = figure('Name', 'myplot', 'Tag', 'main') 

% Create a uicontrol of type "text" 
mTextBox = uicontrol('style','text','Tag','edit1') 
set(mTextBox,'String','Hello World') 

handles = guihandles(mFigure); 

% the code from OP goes here 
text=get(handles.edit1, 'string'); %get editbox text 

[A]=strread(text,'%s','delimiter',' '); 
A 

輸出是:

A = 
{ 
    [1,1] = Hello 
    [2,1] = World 
} 
+0

你的代碼可以與''(空格)以外的分隔符一起工作。 –

+0

它也適用於'space'。 –

相關問題