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字符串。