Hallo, Habe das Problem das ich eine uint16_t wert als Zahl in einen String wandeln möchte! Habe wohl schon die sprintf() funktion gefunden allerdings funktioniert diese ja nur mit Integer Werten.
sprintf funktioniert mit praktisch allen Werten (Typen) und ist dementsprechend umfangreich und langsam! In der stdlib.h gibt es einen ganzen Haufen spezialisierterer und dementsprechend kleiner und schneller Funktiönchen für solche Zwecke. Für einen uint16_t gäbe es z.B. utoa...
krieg ich mit utoa nicht den jeweiligen ASCII code ? und nicht die Zahl welche ich will ?
T.M. wrote: > krieg ich mit utoa nicht den jeweiligen ASCII code ? und nicht die Zahl > welche ich will ? Wie wärs, wenn du dir einfach mal im Web eine Dokumentation zu utoa suchst. Ist mir sowieso unverständlich, wei man ohne Unterlagen eine Programmiersprache benutzen kann. Aber seis drum.
@Johannes: Kannst du das mit der stdlib konkretisieren? Ich verwende newlib und bei mir gibt es die Funktion utoa nicht.
T.M. wrote: > krieg ich mit utoa nicht den jeweiligen ASCII code ? und nicht die Zahl > welche ich will ? Hä? Oben wolltest Du doch die Zahl in einen String wandeln. Und ein String besteht im kontextuellen Sprachgebrauch nunmal aus ASCII-Zeichen. Was meinst Du denn, was sprintf ausspuckt?
Hm, der ganze Artikel bezieht sich nur auf AVR? Habe ich überlesen, dass es hier um AVR speziell geht?
Tilo wrote: > Hm, der ganze Artikel bezieht sich nur auf AVR? Habe ich überlesen, dass > es hier um AVR speziell geht? Nein. Der Artikel (zumindest der von mir verlinkte Abschnitt) bezieht sich nicht auf AVR im Speziellen, sondern auf die Programmiersprache C im Speziellen. Im Artikel sind 3 Methoden angegeben, wie man das Gewünschte erreichen kann. 2 davon funktionieren auf jedem noch so grindigen C-System (printf/sprintf bzw. eine selbstgemachte Ausgabefunktion), während die dritte nur auf ausgewählten C-Systemen funktioniert (itoa bzw. utoa), wobei praktisch alle C-Systeme eine derartige Funktion anbietet. Ich kenn zwar die von dir erwähnte newlib nicht, aber ich würde fast darauf wetten, dass es eine entsprechende Funktion gibt (die u.U auch _utoa heißen könnte) und du nur nicht das richtige Header File hast.
Tilo wrote: > Hm, der ganze Artikel bezieht sich nur auf AVR? Habe ich überlesen, dass > es hier um AVR speziell geht? Nein, aber Du hast die Forenregeln nicht beachtet und in Deinem OP nicht erwähnt, um was es wirklich geht! Zitat:
1 | Wichtige Regeln - erst lesen, dann posten! |
2 | |
3 | [...] |
4 | * Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...) |
5 | [...] |
Ich bin nicht T.M. Mich hat das Thema nur interessiert, weil ich bei der Newlib auf dem Stand bin, dass man so eine Funktion selbst schreiben muss und nichts dabei ist. Daher meine Frage.
cool bleiben ^^ ist dank euch jetzt gelöst werde nächstes mal meiner ersten idee gleich nachgehen ;)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.