Se connecter avec
S'enregistrer | Connectez-vous

[résolu] [C++] Convertion string en char

Dernière réponse : dans Programmation
Lassé par la pub ? Créez un compte

Comment transformer un string (petite cordelette de tissu qui rentre dans les fesses) en char (grosse masse de metal qui tire des obus)????

Une baguette magique? la lampe d'alladin avec ses 3 voeux? beaucoup d'alcool pour confondre les 2?

ok, je sors :-D :-D :-D

wé sors.

Tu veu convertir une chaine en 1char ou bien en autant de char qu'il existe de caractères dans la chaine ?

Je me demande si t'as pas eu un bug avec un de tes progs qui utilisent les strings.
Tu pourrait me montrer le code, il me semble que j'avais eu ce problème une fois mais je l'ai resolu...

Détail, s'il s'agit de passer une chaine de caractère à une fonction, passe PAR REFERENCE (adresse et pointeurs) le premier élément de la chaine (sauf si tu utilise string)
Expert Programmation

Tu peux faire une classe (en redéfinissant les opérateurs dont les opérateurs de cast) où tu détruis le char* dans le destructeur. Comme ça, plus besoin de penser au delete comme pour la fonction.

Sinon, si tu ne comptes pas modifier la chaine, un const char * devrait suffire, donc tu pourrais utiliser directement tonString.c_str()

Merci pour votre aide, mais j'ai trouvé une solution un peu bizard mais qui marche...
Je n'ai pas converti ma string et je l'ai écrite dans mon fichier (de façon un peu bizard j'avoue...).

  1. void ecriture(tclient tab)
  2. {
  3. int i;
  4. std::string concat = "";
  5.  
  6. for(i=0;i<82;i++)
  7. {
  8. concat=concat+tab[i]+';';
  9. }
  10. concat=concat+"\n";
  11. //std::cout<<concat;
  12. fic2<<concat; //cette ligne me semble bizard mais ça marche
  13. }




A force de tourner le code dans tous les sens, on arrive à faire quelque chose!! :-D
Expert Programmation

les << et >> sont des opérateurs de flux: un tuyau dans lequel on met des infos binaires linéaires. CE qui permet de les afficher (en dirigeant sur la sortie standard (écran) avec cout) ou de les écrires dans un fichier comme tu as fais.

Si tu fais ta propre classe, il suffit de surcharger les opérateurs << et >> pour ta classe et tu peux l'afficher ou l'enregistrer.
Lassé par la pub ? Créez un compte
Tom's guide dans le monde