Partage
  • Partager sur Facebook
  • Partager sur Twitter

Convertir un entier int en une chaîne de type string

Sujet résolu
    31 août 2007 à 17:08:13

    Bonjour,

    Je suis actuellement un peu bloqué dans des tests en C++ tout simplement parce que je n'arrive pas à trouver quelle fonction portable pourrait convertir un entier int en une chaîne de type string.

    Il y a peu de temps j'ai trouvé ToString() mais je n'ai aucun exemple concret de son utilisation et du coup je bloque :( .

    Merci d'avance pour toute aide ;) ,
    Nesquik69
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      31 août 2007 à 17:31:50

      Oh, étonnant ça, un valido qui ne fait pas le minimum vital de recherche :p .

      Pour ta question, le mieux est la solution de la FAQ C++ de developpez : ici.
      • Partager sur Facebook
      • Partager sur Twitter
        31 août 2007 à 20:04:35

        Il faut croire que les validos sont totalement imprévisibles :-° ...

        Sinon pour ce que tu m'as fourni merci c'est très utile mais une question reste en suspens : y'a pas moyen d'éviter de créer deux chaînes ?

        Sachant que j'ai l'intention de mettre cette opération dans une boucle qui peut s'exécuter jusqu'à 1000 fois alors ça risque de ne pas être très optimisé :/ .
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          31 août 2007 à 20:08:10

          Malheureusement, tu n'as pas d'autre solution.

          La fonction toString n'existe en effet pas en C++.

          Sinon, pour optimiser "légèrement", tu peux ne créer qu'une fois l'objet std::ostringstream et l'objet std::string. En tout cas, je ne vois pas beaucoup d'autre possibilité d'optimisation.
          Sauf peut-être écrire toi-même une fonction toString ? Dans ce cas il faudrait faire des tests pour voir ce qui est le plus rapide ;) .
          • Partager sur Facebook
          • Partager sur Twitter
            31 août 2007 à 20:36:20

            La manière la plus propre est de le faire via un flux sstream.

            1. osstream monFLux;
            2. monFlux << monInt;
            3. string maChaine = monFlux.str();
            • Partager sur Facebook
            • Partager sur Twitter
            Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
              31 août 2007 à 21:06:27

              Bon alors je cherche pas plus loin dans l'immédiat, c'est pas quelques secondes qui vont changer grand chose ^^ .

              Merci tout le monde pour votre aide :) ,
              Nesquik69

              EDIT : Nanoc -> Le flux sstream nécessite-t-il d'inclure un fichier ?
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                31 août 2007 à 21:44:42

                Bonsoir,
                "#include <sstream>" sauf erreur de ma part. Je lis ça ici pour info, le schéma est assez joli. :D

                Hiura
                • Partager sur Facebook
                • Partager sur Twitter
                  31 août 2007 à 21:52:54

                  Yep il faut inclure sstream, j'ai oublier de l'indiquer.

                  oups, grilled.
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
                    31 août 2007 à 22:53:44

                    Merci tout le monde, ça fonctionne impec :) .
                    • Partager sur Facebook
                    • Partager sur Twitter
                      31 août 2007 à 23:26:52

                      Si tu veux optimiser, cf la série de 3 (?) articles de Matthew Wilson qui avaient été publiés dans le feu CUJ -- dispos maintenant sur le ddj.
                      -> /Efficient Integer to String conversion/ (ou un nom comme cela).
                      • Partager sur Facebook
                      • Partager sur Twitter
                      C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.

                      Convertir un entier int en une chaîne de type string

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown