Um Daten von integer bzw. float in einen String zu wandeln, unm diesen dann auf ein LCD Display auszugeben. - (ich nutze die Lib von Peter Fleury) Sollten man da besser die itoa() bzw. dtostrf() oder die sprintf() Funktion benutzen? Danke Andreas
Andreas schrieb: > Sollten man da besser die itoa() bzw. dtostrf() oder die sprintf() > Funktion benutzen? Die Frage kann man so nicht beantworten. Es hängt auch von den Rahmenbedingungen ab, was "besser" ist. sprintf bietet die meisten Möglichkeiten, kostet dafür aber auch den meisten Programmcode und ist die langsamste Möglichkeit. Wenn die Nachteile sich in einer Applikation nicht auswirken und man die Vorteile nutzen kann, spricht nichts dagegen diese Funktion auch zu verwenden. Was ist besser um von A nach B zu kommen Rad, Bahn, Bus, PKW, LKW Kann man nicht beantworten. Wenn ich von A nach B will, weil ich einen Wohnungsumzug mache, wird ein Rad eher suboptimal sein. Wenn ich spät drann bin und erst auf den Zug warten muss, wird Bahn und Bus eventuell suoptimal sein, ein Rad aber nicht zu schlagen sein, wenn A nur 100 Meter von B entfernt ist, etc. Kurz und gut: Kenne deinen Werkzeugkasten und nimm das Werkzeug, welches dem Einsatzzweck angemessen ist.
Danke Karl Heinz ich fange leider erst gerade mit dem Radfahren an! ;) Wenn ich ein WORD wandeln möchte muss ich sprintf() nehmen? Bei iota() bekomme ich auf jedenfall -1. Gruß, Andreas
@Andreas (Gast) >Wenn ich ein WORD wandeln möchte muss ich sprintf() nehmen? Nein. >Bei iota() bekomme ich auf jedenfall -1. Dann stimmt was nicht. MFG Falk
>> Sollten man da besser die itoa() bzw. dtostrf() oder die sprintf() >> Funktion benutzen? Am besten nichts davon. Rechnen in "c" hats in sich und daher empfehle ich Dir mal ein paar kleine Rechnereien auszutesten. Am besten geht das auf dem PC oder du machst dir eine Ausgabe über USART aufs Terminal. Dann beginnst Du mit deinen Matheübungen und schaust mal mittels printf was dabei so herauskommt. In 99.9% aller Fälle brauchst Du keine Lib Funktionen zur Ausgabe von ein paar Zahlen.
Bernd N schrieb: Ich persönlich setze itoa und dtostrf gerne ein. Sie sind deutlich platzsparender als sprintf und bieten trotzdem noch den Komfort, ohne eigene Routinen schnell was auszugeben. > Am besten nichts davon. Rechnen in "c" hats in sich und daher empfehle > ich Dir mal ein paar kleine Rechnereien auszutesten. Am besten geht das > auf dem PC oder du machst dir eine Ausgabe über USART aufs Terminal. Ob USART oder LCD ist doch egal. Vorher muß er aus der numerischen Variable einen String machen, denn sonst kann er mit einem Terminal nur sehr schlecht mitlesen. Warum es rechnen in C in sich hat, möchte ich auch wissen. Wenn man sich im klaren ist, welchen Wertebereich die einzelnen Variablentypen haben, sehe ich wenig Gemeinheiten. Ok, casten (explizite Typumwandlung) muß man hin und wieder. Servus Michael
Er sagt ja das er Anfänger ist und gerade casten und Wertebereich sowie
einzelnen Variablentypen zu kennen und zu verstehen ist nun mal das a
und o.
>> Bei iota() bekomme ich auf jedenfall -1.
Das ist ein deutlicher Hinweis das er nicht in C rechnen kann.
Danke! casten brachte bei der iota() mit der -1 Ausgabe Erfolg!
Andreas schrieb:
> Danke! casten brachte bei der iota() mit der -1 Ausgabe Erfolg!
Das war höchst wahrscheinlich die falsche Lösungsmethode
itoa wenn du einen int hast
utoa wenn du einen unsigned int hast
ltoa wenn du einen long hast
ultoa wenn du einen unsigned long hast
Benutzte die richtige Funktion für den richtigen Zweck und hör auf die
Dinge zurechtzucasten.
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.