wsprintf

Wohl das A & O in der Windows-Programmierung

Moderatoren: crack, Krüsty, Marwin

Beitragvon Aldebaran » Mittwoch 20. August 2003, 14:29

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
ja schewu, i ze duze dobre tak :)
Aldebaran
Newbie
 
Beiträge: 7
Registriert: Samstag 9. August 2003, 11:10

Beitragvon Marwin » Mittwoch 20. August 2003, 15:59

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:
Code: Alles auswählen
wsprintf (ErgebnisString, "eax = %0.8X", eax)

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:
Code: Alles auswählen
wsprintf (ErgebnisString, "Es ist ein %s Tag", "schöner")


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.

:P Marwin
Benutzeravatar
Marwin
Moderator
 
Beiträge: 307
Registriert: Donnerstag 8. Mai 2003, 21:19
Wohnort: Seelow, Deutschland

Beitragvon Aldebaran » Montag 25. August 2003, 16:16

hallo,

antworte jetzt ein wenig spät, aber ein Blitz hat mein Modem ins Nirvana geschickt :(

Annahme: ich habe Hexwerte so im Speicher

AB CD EF 20 EB 75 A2

kann ich dies mit der betroffenen API als String ausgeben? oder ist diese API auf 32bit beschränkt?

Gruss Aldebaran
ja schewu, i ze duze dobre tak :)
Aldebaran
Newbie
 
Beiträge: 7
Registriert: Samstag 9. August 2003, 11:10

Beitragvon Marwin » Montag 25. August 2003, 18:00

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.

:P Marwin
Benutzeravatar
Marwin
Moderator
 
Beiträge: 307
Registriert: Donnerstag 8. Mai 2003, 21:19
Wohnort: Seelow, Deutschland


Zurück zu Windows-API

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder

cron