Partage
  • Partager sur Facebook
  • Partager sur Twitter

Conversion de types...

Sujet résolu
    10 juin 2008 à 11:06:19

    Bonjour, j'ai beaucoup cherché à ce sujet mais ce que j'ai trouvé ne fonctionne pas (ou alors j'ai mal compris...) je sais qu'il y a beaucoup de demande à ce sujet et vous me direz que google est mon amis etc... mais j'ai réellement cherché pendant longtemps et sa m'a pas fait avancé la moindre :/

    cela étant dis j'expose mon problème ^^ :
    Je fais un programme en SDL et je veux faire un compteur qui affiche "Temps écoulé : le_temps" avec la librairie SDL_ttf.

    Ce que j'ai essayé : duree = reinterpret_cast<char*>(secondes); => mais sa ne fonctionne pas (no match for 'oprator=' in 'duree=+secondes') et sinon j'ai vu le post qui dis de le faire avec sstream mais le problème c'est que sa retourne un string et je reviens au problème de conversion car dans TTF, le paramètre que j'envoie doit être un *char et non un string.

    et après comment faire pour concaténer un *char ? (sa je n'ai pas encore cherché mais si qqn à la réponse sous la main c'est volontiers ;) )

    merci d'avance !
    • Partager sur Facebook
    • Partager sur Twitter
      10 juin 2008 à 11:51:40

      Montres voir le code, parce que ton explication n'est pas très claire. Tu veux transformer quoi en quoi ?
      • Partager sur Facebook
      • Partager sur Twitter
      Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
        10 juin 2008 à 12:20:12

        ok alors voila les bouts de code :
        SDL_Surface *texte = NULL,
        TTF_Font *police = NULL;
        char *dureePartie;
        static long dureeTotale = SDL_GetTicks();
        long tempsActuel = 0, seconde;
        
        tempsActuel = SDL_GetTicks();
        secondes = tempsActuel - dureeTotale;
        
        dureePartie = "Temps écoulé : " ; // c'est ici que je veux mettre le temps à la suite
        
        police = TTF_OpenFont("polices/comicbd.ttf", 15);
        texte = TTF_RenderText_Blended(police, dureePartie, couleur); // dureePartie doit être un pointeur sur un char.
        


        voila j'espère que avec sa et le reste de mes explication plus haut vous comprenez ce que je veux dire...
        merci :)
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          10 juin 2008 à 12:51:53

          regarde du coté des ostringstream pour faire ce que tu souhaite.
          Et comme je suis sympa:
          #include <sstream>
          
          //...
          
          SDL_Surface *texte = NULL,
          TTF_Font *police = NULL;
          
          std::ostringstream dureePartie;
          
          static long dureeTotale = SDL_GetTicks();
          long tempsActuel = SDL_GetTicks(), seconde= (tempsActuel - dureeTotale);
          
          dureePartie << "Temps écoulé : " << secondes  ; 
          
          police = TTF_OpenFont("polices/comicbd.ttf", 15);
          texte = TTF_RenderText_Blended(police, dureePartie.str().c_str(), couleur);
          


          Edit : code non testé.
          • Partager sur Facebook
          • Partager sur Twitter
            10 juin 2008 à 13:10:42

            hooo !! nickel merci beaucoup !!! sa marche super là ! :D

            C'est la première foi que je vois c_str()! C'est pas facile de trouver des trucs spécifique comme ça...

            merci encore et bonne journée ! :)
            • Partager sur Facebook
            • Partager sur Twitter
              10 juin 2008 à 13:43:04

              c_str() a été vu dans le cours de Mateo ;) Suffit juste de bien lire le chapitre sur la classe string, cette fonction n'a rien de spécifique au sens où tu l'entend ;) .
              • Partager sur Facebook
              • Partager sur Twitter
                10 juin 2008 à 15:41:12

                ha ouais effectivement c'est dans son cours. sa fait un bout de temps que j'ai passé ce chapitre et n'utilisant que rarement les chaines de caractère, sa m'est sortit de la tête ^^
                merci, la prochaine fois je penserai à revoir mes cours ! ;)
                • Partager sur Facebook
                • Partager sur Twitter

                Conversion de types...

                × 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