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