我想打印终端的phrs值并检查它们的数据类型。我以为我得到了第一部分:C Matlab Mex网关文件,打印phrs
mexPrintf("Value: %d\n",prhs[0]);
但这是给我垃圾。我错过了什么? (可能有些显而易见)有没有办法检查数据类型并将其打印出来?
我想打印终端的phrs值并检查它们的数据类型。我以为我得到了第一部分:C Matlab Mex网关文件,打印phrs
mexPrintf("Value: %d\n",prhs[0]);
但这是给我垃圾。我错过了什么? (可能有些显而易见)有没有办法检查数据类型并将其打印出来?
要检查prhs日期类型,我认为您可以使用mxGetClassName(prhs[0])
。为了打印它的价值,你需要重新引用它,因为我没有记错。例如:
double* data = mxGetPr(prhs[0]);
mexPrintf("Value: %f\n",data[0]);
注意,mxGetPr返回指向double的指针,所以在本例中保留它。
prhs
是一个指向mxArray
的指针数组,对应于您的输入。 根据您输入的类型,你可以使用:
double input = mxGetScalar(prhs[0]); printf("Value: %f\n",input);
double* input = mxGetPr(prhs[0]); printf("Value: %f\n",input[0]);
来获得一个指向你的数组值的指针,但是这里我们只打印第一个值。您可以使用mxGetDimensions()
来获取数组的维数。