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()
を使用して配列の寸法を取得できます。