Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Daxtor Mini JLI'ler
Anmeldedatum: 17.09.2002 Beiträge: 32 Wohnort: Torgau Medaillen: Keine
|
Verfasst am: 10.09.2003, 19:09 Titel: Konvertierung von char in LPSTR |
|
|
Hi,
kann mir jemand sagen warum, wenn ich:
Code: |
char Temp;
Temp = (char)(rand()%256);
|
schreibe und dieses dann so in den Typ LPSTR umwandle (um ihn mit der DX9 DrawText-Methode auszugeben):
Code: |
LPSTR Text = &Temp;
|
automatisch 3 weitere Zeichen an den String angefügt werden und wie ich dass verhindern kann?
Ich habe ewig herrumprobiert und gesucht, aber nichts geschweites gefunden
Danke im Vorraus!
cu Daxtor _________________ Was kannst Du erwarten wenn Du "Weichware" von einer Firma namens "Winzigweich" kaufst? Also, dann bist du doch mit Software von Microsoft noch gut dran... |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 10.09.2003, 19:26 Titel: |
|
|
Weil dass was du machst falsch ist. Du hast Glück, dass nicht mehr schiefgeht. Ein LPSTR ist nichts anderes als ein String (Pointer auf ein Char-Array). Wenn du jetzt die Adresse einen char zuweist, dann fehlt dir das Nullzeichen. Folgendes sollte gehen:
Code: |
char temp[2];
temp[0] = (char)(rand()%255);
temp[1] = 0;
LPSTR t = temp;
|
Du kannst dann aber auch direct temp verwenden LPSTR und char* ist sowieso das gleiche.
Christian |
|
Nach oben |
|
|
Daxtor Mini JLI'ler
Anmeldedatum: 17.09.2002 Beiträge: 32 Wohnort: Torgau Medaillen: Keine
|
Verfasst am: 11.09.2003, 18:06 Titel: |
|
|
Ui , danke, jetzt klappt's, da habe ich mir aber wieder mal was zusammengebaut _________________ Was kannst Du erwarten wenn Du "Weichware" von einer Firma namens "Winzigweich" kaufst? Also, dann bist du doch mit Software von Microsoft noch gut dran... |
|
Nach oben |
|
|
|