www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik sprintf()


Autor: tobias hofer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo

ich möchte eine int zahl in einen string konvertieren.
dazu möchte ich die sprintf() fkt. verwenden.

kann mir vieleicht jemand ein kleines c-beispiel geben wie ich das 
programieren kann?

besten dank tobias

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Tobias,

warum möchtest du unbedingt die Funktion sprintf() benutzen? Einfacher 
geht es mit itoa().

Gruß
Olaf

Autor: tobias hofer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich weiss itoa() wäre einfacher.

mein compiler hat aber diese fkt. noch nicht implementiert.
eben nur sprintf(),leider...
aber mit dieser fkt. sollte das nun ja wohl auch gehen.

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Tobias,

sprintf() arbeitet im Prinzip genau wie printf(), nur dass du noch einen 
zusätzlichen Buffer angibst, in den der String kopiert werden soll.

...
char buf[80];
int  zahl = 1234
...
   sprintf(buf, "Die konvertierte Zahl ist: %d", zahl);
oder:
   sprintf(buf, "%d", zahl);
...

Außerdem gibt die Funktion einen Rückgabewert zurück, in dem die Anzahl 
der Zeichen steht, die in den Buffer kopiert wurden.

Gruß,
Olaf

Autor: tobias hofer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi olaf

danke!
für was steht eigentlich das "%d"?

gruss
tobias

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
d wie dezimal. Rat mal was bei h oder o rauskommt ;-)

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Andreas
Was willst du Tobi damit sagen? Das mit %h vielleicht die Zahl als Hex 
ausgegeben wird? Das ist leider falsch.

%s -> string
%d oder %i -> integer
%u -> unsigned int
%x oder %X -> HEX
%o -> vorzeichenloser Integer oktal
%f -> float
%e oder %E -> Gleitkommazahl "Mantisse E Exponent"
u. a.

Olaf

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mift, war ein blödes Beispiel. H gibt's bei sprintf natürlich nicht, 
sorry falls ich Verwirrung gestiftet habe.

Autor: tobias hofer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hat bestens geklappt.
das programm funktioniert bestens.

danke nochmals
gruss tobias

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.