提示用户在 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