2013-02-10 3 views
0

J'ai besoin de convertir un caractère dans un tableau de caractères en const char * afin de l'imprimer dans un fichier en utilisant fstream. Je ne suis pas sûr exactement comment le faire. J'ai essayé de mettre le caractère unique dans une chaîne, puis en utilisant c_str(), mais cela ne fonctionne pas ..C++ char à const char *

+3

Le code serait utile? –

+3

Attends, quoi? Vous n'avez certainement *** *** pas besoin de convertir un caractère dans un tableau de caractères en un 'const char *' afin de l'imprimer dans un fichier en utilisant 'fstream'. S'il vous plaît [partager le code] (http://sscce.org/) vous avez jusqu'ici et laissez-nous savoir quelle erreur du compilateur vous voyez qui vous fait croire une telle chose. – Johnsyweb

Répondre

1

Hm ... Si vous avez un tableau de caractères, qui se désintègre déjà en char * lorsqu'il est passé à une fonction.

Si vous avez besoin d'un seul caractère:

char array[128]; // whatever - you want to extract the char from this 
char s[] = { array[64], 0 }; 

puis utilisez s qui peut maintenant se désintégrer en char *.

Edit: D'oh, je viens de lire ceci:

afin d'imprimer un fichier en utilisant fstream

Eh bien, ne vous embêtez pas convertir en un Chaîne C appropriée. operator<< connaît son travail, et il est surchargé pour char aussi.

2

Si vous voulez écrire un seul caractère, il suffit d'utiliser operator<<:

char arr[256] = "..."; 
fstream f(...); 

f << arr[2]; 

Vous n'avez pas besoin de convertir le caractère à une chaîne C.