Implementierung von itoa (z.B. gcc)



  • Hallo zusammen,

    ich suche gerade nach einer funktionierenden und effizienten implementierung von itoa.
    Ich würde auch gerne die opensource-implementierung von Gcc nehmen, allerdings weiß ich nicht so genau, wo ich die finde.
    Hat jemand die Implementierung von gcc oder eine andere gute Implementierung, oder kann mir sagen kann, wie ich eine finde?

    Vielen Dank schonmal!

    Edit: Bei wikipedia hab ich eine Implementierung gefunden, aber steht dabei, dass diese bei bestimmten Zahlen fehlerhaft ist.
    Für float brauch ich übrigens das gleiche und ich hab gerade gesehen, dass es ftoa leider nicht gibt. Was kann man da nehmen? Am besten wärs wenn ich ohne C++ (sstream) auskomme.



  • Warum nutzt du nicht sprintf? Steht das auch nicht zur Verfügung?


  • Mod

    Was denn nun, C oder C++?

    Und Google kennt übrigens auch eine spezielle Codesuche:
    http://www.google.com/codesearch#search/&q=itoa lang:^c$&type=cs

    Und eine (hoffentlich) unnötige Frage: Die ist die Existenz von sprintf bekannt und du hast Gründe dich bewusst dagegen zu entscheiden?

    P.S.: Linkformatierung funktioniert anscheinend nicht mit dem ^-Zeichen. Musst du von Hand kopieren.



  • Muss ich nachgucken, beim compiler für den microkontroller ist leider nicht besonders viel dabei.
    Mein Kollege hatte die Konvertierungen selbstgeschrieben, aber hat die Vermutung, dass daran was nicht stimmt und/oder das zu ineffizient ist, die char-Kodierung (anderer Forums-Thread) evtl. gar nicht das Problem ist.

    Edit: Danke für den Link, da sind ja schonmal ein paar implementierungen 🙂
    sprintf habe ich noch nie verwendet, aber hab schonmal von der funktion gehört.
    Itoa war mir sofort in den Sinn gekommen, weil es genau das macht, was ich brauche für ints.
    Ich schaue morgen nach, ob wir die Funktion zur Verfügung haben, sonst nehme ich was von google code.
    Zur Sache C oder C++: Normalerweise mach ich nur C++ aber wie gesagt programmiert mein Kollege den Microkontroller in C.
    Der Link ging bei mir übrigens direkt.



  • sprintf funktioniert nicht für binäre Ausgaben, itoa normalerweise schon.


Log in to reply