📄 exm120153_1.cpp
字号:
#include "mex.h" // <1>
#include "string.h" // <2>
//-------------------------------------------------
void stringplus(char *input_buf0,char *input_buf1,char *output_buf)
{
strcat(output_buf,input_buf0);
strcat(output_buf,input_buf1);
}
//-------------------------------------------------
void mexFunction(int nlhs,mxArray *plhs[], int nrhs,const mxArray *prhs[]) //<10>
{
char *input_buf0,*input_buf1,*output_buf; //
int buflen,buflen0,buflen1,status; //
if (nrhs!=2) // <13>
mexErrMsgTxt("Two inputs inquired."); //<14>
else if (nlhs>1) // //<15>
mexErrMsgTxt("Too many output arguments."); //<16>
if (mxIsChar(prhs[0])!=1||mxIsChar(prhs[1])!=1) // <17>
mexErrMsgTxt("Inputs must be a string.");
if (mxGetM(prhs[0])!=1||mxGetM(prhs[1])!=1) // <19>
mexErrMsgTxt("Inputs must be a row vector.");
buflen0=(mxGetM(prhs[0])*mxGetN(prhs[0]))+1; //<21>
buflen1=(mxGetM(prhs[1])*mxGetN(prhs[1]))+1; //<22>
buflen=buflen0+buflen1-1; //
input_buf0=(char *)mxCalloc(buflen0,sizeof(char));
//
//
input_buf1=(char *)mxCalloc(buflen1,sizeof(char));
output_buf=(char *)mxCalloc(buflen,sizeof(char));
//
status=mxGetString(prhs[0],input_buf0,buflen0); //<30>
if (status!=0) //
mexWarnMsgTxt("Not enough space,String is truncated.");
//
status=mxGetString(prhs[1],input_buf1,buflen1); //<34>
if (status!=0) //
mexWarnMsgTxt("Not enough space,String is truncated.");
stringplus(input_buf0,input_buf1,output_buf); //
//
plhs[0]=mxCreateString(output_buf); //<39>
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -