Guidance in writing mexFunction for convert.c

2 views (last 30 days)
I have data in CSV (comma seperated value) format, i need it in the libsvm format. I found a c code to do it: http://www.csie.ntu.edu.tw/~cjlin/libsvm/faqfiles/convert.c
But i want to call this in matlab. So i need to include a mexFunction in convert.c , could anyone guide me/help me out with writing this function?

Accepted Answer

James Tursa
James Tursa on 23 Dec 2013
Try putting this at the top of the file and then mex it:
// One input argument: The Filename
int main(int argc, char **argv);
#include "mex.h"
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
int argc = 2;
char *argv[2];
if( nrhs == 1 && mxIsChar(prhs[0]) ) {
argv[1] = mxArrayToString(prhs[0]);
main(argc,argv);
mxFree(argv[1]);
} else {
mexErrMsgTxt("Expected one input, the filename");
}
}

More Answers (0)

Categories

Find more on Write C Functions Callable from MATLAB (MEX Files) in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!