hallo
ich habe eine Frage zum format-control string der API-wsprintf, dieser hat ja diese Form:
%[-][#][0][width][.precision]type
ich hab zwar die englische Beschreibung davon, verstehe aber nicht allzuviel davon, wenn mir dies jemand erklären könnte (vielleicht an einem Beispiel), wär ich froh.
Gruss
Aldebaran
wsprintf
Moderatoren: crack, Krüsty, Marwin
- Marwin
- Moderator
- Beiträge: 307
- Registriert: Donnerstag 8. Mai 2003, 21:19
- Wohnort: Seelow, Deutschland
- Kontaktdaten:
Hi Aldebaran,
wsprintf gibt einen formatierten String zurück. Soviel weißt du aber sicher bereits. Mit dem Format-Control String kannst du festlegen, wie der Ergebnis-String genau aussehen soll. Ich habe im Folgenden einige Beispiele aufgeführt:
Ausgabe eines HEX-Wertes:
0] der Ergebnis-String soll mit Nullen (0) gefüllt werden, bis die angegebene Anzahl an Zeichen im Ergebnis-String vorhanden sind
.8] die ersten 8 Ziffern der Zahl in eax soll in den Ergebnis-String kopiert werden
X] die Zahl in eax soll als Hexadezimalzahl ausgegeben werden
mögliche Ausgaben: 0E00C5FF, 00432023
Wenn der Format-Control String so aussieht: "eax = %#0.8X", dann geht der Hexadezimalzahl ein 0X-Präfix vorran.
Ausgabe eines Strings:
Falls du die Win32.hlp verwendet hast, dann findest du dort auch alle anderen möglichen Angaben für type. Aber auch jede andere Dokumentation sollte diese enthalten.
Marwin
wsprintf gibt einen formatierten String zurück. Soviel weißt du aber sicher bereits. Mit dem Format-Control String kannst du festlegen, wie der Ergebnis-String genau aussehen soll. Ich habe im Folgenden einige Beispiele aufgeführt:
Ausgabe eines HEX-Wertes:
Code: Alles auswählen
wsprintf (ErgebnisString, "eax = %0.8X", eax).8] die ersten 8 Ziffern der Zahl in eax soll in den Ergebnis-String kopiert werden
X] die Zahl in eax soll als Hexadezimalzahl ausgegeben werden
mögliche Ausgaben: 0E00C5FF, 00432023
Wenn der Format-Control String so aussieht: "eax = %#0.8X", dann geht der Hexadezimalzahl ein 0X-Präfix vorran.
Ausgabe eines Strings:
Code: Alles auswählen
wsprintf (ErgebnisString, "Es ist ein %s Tag", "schöner")- Marwin
- Moderator
- Beiträge: 307
- Registriert: Donnerstag 8. Mai 2003, 21:19
- Wohnort: Seelow, Deutschland
- Kontaktdaten:
Nein, meines Wissens nach ist es nicht beschränkt. Du kannst schließlich die Anzahl auszugebenden Zeichen angeben (in meinem Beispiel 8: "0.8"). Versuche es doch mal mit mehr, und wenn das erwartete Resultat herauskommt, dann funktioniert es. Ansonsten nicht
Aber poste bitte auf jeden Fall hier, wenn du es probiert hast.
Marwin
Aber poste bitte auf jeden Fall hier, wenn du es probiert hast.