I get an Access violation reading location when using mxCreateCharMatrixFromStrings
Afficher commentaires plus anciens
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,
Réponse acceptée
Plus de réponses (1)
Mohan Feng
le 11 Déc 2018
0 votes
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 commentaires
Edwardo Medina
le 11 Déc 2018
James Tursa
le 12 Déc 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.
Catégories
En savoir plus sur Startup and Shutdown dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!