I get an Access violation reading location when using mxCreateCharMatrixFromStrings
Mostrar comentarios más antiguos
I am using mxCreateCharMatrixFromStrings in a C++ console app. I have read in the 'string' from a .mat file into a char *cData[10] using mxArrayToString(). I can see the string in cData[0] and it is what I expected. I take that variable and then call the following in C++:
mxArray *pMatr = nullptr;
pMatr = mxCreateCharaMatrixFromStrings(345, (const char**)cData[0]); <-- this line is where I get the access violation error!
my goal is to have an pointer to an 1X344 mwArray to pass into a matlab generated library.
I am using MatLab R2014 as the matlab generated library needed to be 32 bit.
Thanks,
Respuesta aceptada
Más respuestas (1)
Mohan Feng
el 11 de Dic. de 2018
0 votos
It seems that in your code, cData[0] is of type char*, but you convert it into type char**, which may cause a segmentation fault.
2 comentarios
Edwardo Medina
el 11 de Dic. de 2018
James Tursa
el 12 de Dic. de 2018
I don't believe you. Passing in cData[0] as the 2nd argument couldn't possibly have worked, since that address points to a string of characters and is not the same as cData all by itself.
Categorías
Más información sobre C Shared Library Integration en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!