Windows Console - Integer ausgeben?
-
Hallo, ich arbeite zurzeit mit:
http://benryves.com/tutorials/winconsole
Nun überlege ich mir wie ich einen Integer ausgeben kann, ich versuche zurzeit eine Funktion zu erstellen die mir einen integer in eine zeichenkette umwandelt. Es funktioniert auch, nur habe ich das problem wenn ich somit einen Counter ausgeben möchte, der z.b von 9 auf 10 geht, aber dann wieder von 10 auf 9, dass dort 90 kommt... gibt es auch eine andere möglichkeit einen Integer auszugeben?
Arbeite ohne printf.void wInt(int Int, int x, int y){ int i=1,temp = 0; int p; if(Int != 0){ while(Int/i != 0){ i*=10; temp++; } } for(int j = 1; j<=temp;j++){ i/=10; p = (Int/i); Int-= (Int/i)*i; consoleBuffer[((x + (sX+1) * y))+j].Char.AsciiChar = 48+p; } }
-
Du kannst danach noch ein Leerzeichen ausgeben.
Oder nimm sprintf.
-
Aber mit sprintf kann ich doch keine X/Y Achse angeben, ab wo ich dann anfange zu schreiben.
-
Was macht denn sprintf?
-
Ich finde bei sprintf keine möglichkeit für eine X/Y achsen auswahl.
-
Soll es ja auch nicht.
sprintf gehört zur Standardbibliothek von C. Und die kennt keinen Bildschirm/Konsole.sprintf schreibt nicht auf stdout sondern in einen C-String.
Du kannst damit dein Umwandlung (Integer) machen und dann den String ausgeben (Mit einer Funktion deiner winconsole).Wenn du sogar
vsprintf
nimmst, kannst du dein eigenes xyprintf machen.
-
verstehe nicht so ganz wie du das meinst mit dem sprintf.
-
Du sollst dir keinen Gedanken um die Umwandlung machen, sondern Standardfunktionen nutzen, die das für dich erledigen.
char buf[1000]; ... sprintf(buf, "%5d ", Int); wincosle_output(x,y, buf); // oder wie die Funktion auch immer heissen mag.
-
Danke dir,
irgendwie geht das nicht richtig. Muss mir später mal die ganzen befehle durchlesen...