1

こんにちは、MATLABからmex関数に値を送信したいと思います。値は通常約10桁の長さで、unsignedlonglongデータ型を使用しました。

しかし、mexfileからアクセスするのは困難です。mxGetPrはdouble型を返すので、私がしなければならない型変換はありますか?

4

1 に答える 1

0

はい、私はちょうどこれに遭遇しました。mxGetPr一般的にはもう使用しないでください。それを行うためのより良い方法は、最初に次のようにタイプをチェックすることです。

if(!mxIsClass(prhs[0],"double"))
{
    mexErrMsgTxt("Data must be of type double!!!\n");
}

次に、(double *)mxGetData(prhs[0])またはあなたの場合にデータにアクセスします(unsigned long long int*)mxGetData(prhs[0])

あなたは調べてmxIsClassmxGetDataより多くの情報を探すことができます。

編集: また、ここにさまざまなタイプのリストがありますmxIsClass

于 2011-06-17T17:19:53.507 に答える