J'ai quelques tableaux C de + que j'ai construit comme suit:Conversion de chaîne à charbon non-const *
std:array<const char *, 4) test1 = {abc.c_str(), def.c_str(), ghi.c_str()};
où abc
, def
, ghi
sont std::string
je dois passer ce tableau à une autre fonction qui a le prototype suivant: (int argc, char * argv[])
Comment dois-je modifier tableau afin que non-const char*
ou moi qui peut être passé à abov e fonction. Ou devrais-je modifier la fonction à const char *. Je ne suis pas sûr si la fonction essaye de modifier char * quelque part puisque ce code de fonction n'est pas le mien et n'est pas disponible aussi bien actuellement.
Mais, en tout cas, il serait bon de demander comment je passerais non-const char * array à la fonction ci-dessus?
+ 'strdup()'/'free()' dans le cas où la fonction prototypée modifie les chaînes. –
Si cela ne vous dérange pas de me demander, quel est le point de 'abc.c_str();' etc? Quels sont les effets secondaires? – chris
@chris: Il s'assure que le contenu de la chaîne est suivi d'un octet NUL. –