Mercurial > hg > octave-lyh
diff examples/mystring.c @ 6593:3da1f4a41455
[project @ 2007-04-27 08:08:19 by dbateman]
author | dbateman |
---|---|
date | Fri, 27 Apr 2007 08:08:19 +0000 |
parents | |
children | 2aad75fcc93a |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/examples/mystring.c @@ -0,0 +1,23 @@ +#include <string.h> +#include "mex.h" + +void +mexFunction (int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) +{ + int i, j, m, n; + mxChar *pi, *po; + + if (nrhs != 1 || ! mxIsChar (prhs[0]) || + mxGetNumberOfDimensions (prhs[0]) > 2) + mexErrMsgTxt ("expecting char matrix"); + + m = mxGetM (prhs[0]); + n = mxGetN (prhs[0]); + pi = mxGetChars (prhs[0]); + plhs[0] = mxCreateNumericMatrix (m, n, mxCHAR_CLASS, mxREAL); + po = mxGetChars (plhs[0]); + + for (j = 0; j < n; j++) + for (i = 0; i < m; i++) + po [j*m + m - 1 - i] = pi [j*m + i]; +}