Tableau dynamique de pointeurs sur const char*
Bonjour,
J'ai une question qui a du déjà être posée mais je ne l'ai pas trouvée dans le forum, alors je vous demande :
Pour info, mon code fait intervenir un peu de C++, car j'utilise les deux dans cette partie de mon programme.
J'ai donc un tableau de string en C++, et je voudrais créer à partir de celui ci un tableau de char* en C (le meme, mais des char* à la place des string)
j'utilise pour celà la méthode c_str() de la classe string afin d'obtenir le char* correspondant, mais cette méthode renvoie un const char*, que je n'arrive pas à insérer dans un char** (en C). Ma question est : comment déclarer le pointeur en C pour que le compilateur accepte qu'il soit rempli par des const char* ?
Et plus précisément (meme si le fait que ce soit constant n'est pas primordial pour moi) : comment faire pour déclarer un tableau (dynamique) de pointeurs sur constantes, et ensuite pouvoir remplir ce tableau ?
je crois que j'ai réussi en faisant :
Code:
char* const * tab = malloc(...);
mais à la compilation, il refuse le :
Code:
tab[i] = string.c_str();
motif : impossible d'écrite dans une zone en lecture seule.
Voila, je ne sais pas si j'ai été très clair, mais tout ça me pose un problème :)