Поскольку MATLAB® не использует stdin
и stdout
, не используйте функции C/C++ как scanf
и printf
, чтобы запросить ввод данных пользователем. Следующий пример показывает, как использовать 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; }
входной параметр
| inputdlg
| mexCallMATLAB