ユーザーへの C MEX ファイルの入力要求
MATLAB® は stdin
および stdout
を使用しないため、ユーザーへの入力要求に scanf
や printf
のような C/C++ 関数は使用しません。次の例では、関数 mexCallMATLAB
を関数 input
と共に使用してユーザーから数値を取得する方法を説明します。
#include "mex.h" #include "string.h" void mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[] ) { mxArray *new_number, *str; double out; str = mxCreateString("Enter extension: "); mexCallMATLAB(1,&new_number,1,&str,"input"); out = mxGetScalar(new_number); mexPrintf("You entered: %.0f ", out); mxDestroyArray(new_number); mxDestroyArray(str); return; }
参考
mexCallMATLAB
| input
| inputdlg