2015-10-13 89 views
0

我有一個C mex S函數可以將輸出打印到.txt文件。 mdlStart(SimStruct * S)中的此代碼創建datafile.txt文件並追加輸出。從S函數創建.txt文件

void** pwork = ssGetPWork(S); 
    FILE *datafile; 

    datafile = fopen("datafile.txt","a"); 
    pwork[0] = datafile; 

所以現在我想通過S函數掩碼從用戶動態獲取.txt文件的文件名。那麼,如何從S函數內的掩碼接收文件名的字符串值。

回答

1

首先,喲需要聲明mask參數

enter image description here

的,則需要通過文件名來SFunction參數

enter image description here

最後,您將使用參數裏面的功能,像這樣:

mxGetPr(ssGetSFcnParam(S,0)); 

參見:

http://www.mathworks.com/help/simulink/sfg/ssgetsfcnparam.html http://www.mathworks.com/matlabcentral/answers/36028-integer-parameters-to-c-mex-s-function

+0

我想接受從s函數內部炭的​​掩模即陣列參數i需要使用int mxGetString(常量mxArray *時,字符* STR,mwSize strlen的);方法... Thanx的幫助:) – redumpt

+0

我沒有自己測試解決方案,所以你可能是正確的。我剛給你的方向跟隨。讓我知道它是否有效。可能的力量與你:-) – guilhermecgs

+0

我遵循你的建議的程序,但獲得參數值我使用mxGetString ....它的工作.Thanx的幫助:) – redumpt