Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C Matlab中的mxArrayToString()函数_C_Matlab_Mex - Fatal编程技术网

C Matlab中的mxArrayToString()函数

C Matlab中的mxArrayToString()函数,c,matlab,mex,C,Matlab,Mex,这是密码吗 argv[i] = mxArrayToString( prhs[i] ); 将输入转换为字符串并将其保存在argv[]数组中 void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { int argc = 0; char **argv; int i, result; argc = nrhs; argv = (char **) mxCallo

这是密码吗

argv[i] = mxArrayToString( prhs[i] ); 
将输入转换为字符串并将其保存在argv[]数组中

void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
    int argc = 0;
    char **argv;
    int i, result;

    argc = nrhs;
    argv = (char **) mxCalloc( argc, sizeof(char *) );
    for (i = 0; i < nrhs; i++){
        argv[i] = mxArrayToString( prhs[i] );

//     ...


}


// ...
void-mexFunction(int-nlhs,mxArray*plhs[],int-nrhs,const-mxArray*prhs[])
{
int argc=0;
字符**argv;
int i,结果;
argc=nrhs;
argv=(char**)mxCalloc(argc,sizeof(char*);
对于(i=0;i

是否可以改进它以获得更好的性能?

否,它不会转换为字符串,仅当mxArray是字符串时才起作用。请阅读文档中的以下问题:@CrisLuengo-从您提供的链接中,语句调用mxArrayToString将mxCHAR数组的字符数据复制到C样式字符串中。表面上,请参见ms与您的断言相矛盾。为清楚起见,请您重申一下?即,OP在该函数中作为参数传递的内容有什么问题?@Ryker:澄清:它不会将任意输入转换为字符串。它会将MATLAB字符串转换为C字符串。