⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exm120153_1.cpp

📁 《精通Matlab6.5版》张志勇等编著
💻 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 + -