Frage zur Write Funktion
-
Und wenn du stattdessen die Zahl 10 als Zeichen ausgibst, so wie hier, dann wird das Zeichen mit der Nummer 10 ausgegeben, was irgendein Kuddelmuddel ist.
-
Ich bekomme aber auch keine 10 raus, wenn ich 2 als Bytezahl angebe.
-
Dann weis doch mal c die 49 zu und schau mal was rauskommt. (
c = 49;
)
-
Hat Klick gemacht^^ Deswegen konnte das nicht klappen ...
aber dann stellt sich für mich immer noch die Frage, wie kann ich mittels dem "write" Befehl einen Integer ausgeben, muss ich die Zahl dafür total zerlegen oder stell ich mich nur denkbar ungeschickt an?
-
Dafür gibt es die
printf()
-Familie.
Wenn du mitwrite()
arbeiten willst, musst du mitsprintf()
in einen Buffer schreiben und den dann mitwrite()
ausgeben.Warum soll es eigentlich
write()
sein?
-
Ist die Aufgabenstellung, sprintf hatte ich auch schon als Idee, erst in nen String und dann mittels write einfach den String ausgeben ... pustekuchen, sprintf darf ich auch nicht verwenden -.-
Muss ich die Zahl manuell umwandeln oder geht das noch i-wie anders?
-
So schwer ist das mit dem manuellen Umwandeln nicht und vermutlich ist genau dies der Plan der Aufgabenstellung. Du lernst dann nämlich einiges über Zahlensysteme, Kontrollstrukturen und Rechenoperatoren in C.
So wie du es jetzt versuchst, ist eher wie man einem fertigen Funktionsaufruf seinen Willen aufzwingt, was nicht sehr lehrreich ist.edit: Ein Tipp zur manuellen Umwandlung: Wie du ja schon gelernt hast, sind Zeichen auch nur Zahlen. Du kannst damit auch rechnen. Dabei gilt:
'0' + 0 == '0'
'0' + 1 == '1'
bis
'0' + 9 == '9'
Achte hier auf den Unterschied zwischen Zeichen (mit ' ' drumrum) und Zahlenwerten.
-
Es gibt noch viele Möglichkeiten, aber da die Funktionen ja verboten sind, sollst du das wohl selbst schreiben. Tipp: Guck dir mal Modulo ( % ) an.
-
Es gibt noch
itoa()
. Die ist aber nicht im Standard.In der Übung geht es sicher genau darum, so eine Funktion zu bauen.
-
DirkB schrieb:
Es gibt noch
itoa()
. Die ist aber nicht im Standard.Das ist write() auch nicht.
-
Hi,
wollt euch grad noch wissen lassen, dass ichs hinbekommen habe, vielen Danke für eure Hilfe.