C++ de la Conversion d'un char à un const char *
Je suis en train d'utiliser beginthreadex de créer un thread qui exécute une fonction qui prend un char comme un argument. Je suis mauvais en C++, et je ne peux pas comprendre comment transformer un char dans un const char , qui beginthreadex a besoin pour son argument. Est-il un moyen de le faire? Je trouve beaucoup de questions pour la conversion d'un char à un const char, mais pas à un const char *.
- Vous pouvez convertir implicitement
char *
enconst char *
. Pas besoin de faire quoi que ce soit. - Cela ne vous aide pas à passer un
char
de la valeur à quelque chose qui veut un pointeur. - Selon la documentation (msdn.microsoft.com/en-us/library/kdzttdcb.aspx)
beginthreadex
veut unvoid*
.
Vous devez vous connecter pour publier un commentaire.
Bien sûr, c'est sur la pile. Si vous en avez besoin sur le tas,
new
à la place.Si la fonction attend un pointeur const à la sortie de caractère, vous devriez aller avec la réponse de Paul Draper. Mais gardez à l'esprit que ce n'est pas un pointeur vers une chaîne terminée par null, ce que la fonction peut s'y attendre. Si vous avez besoin d'un pointeur à null chaîne de caractères, vous pouvez utiliser
std::string::c_str
Puisque vous n'avez pas de code, il est difficile de savoir exactement ce que vous voulez, mais ici, c'est un moyen d'appeler une fonction attend un char comme un argument dans un thread. Si vous ne pouvez pas modifier la fonction pour convertir l'argument lui-même vous avez besoin d'un trampoline fonction de rester dans le milieu pour le faire et l'appel de la fonction réelle.