16. januar 2004 - 21:50
Der er
20 kommentarer og 1 løsning
Konvertering fra BYTE til streng?
Hejsa! I et program kaldes en funktion GamePrintInfo(); - som kan bruges til at lave et output på skærmen i et spil, fx: GamePrintInfo("Hello!"); Men problemet er at jeg gerne vil have den til at skrive en tekst + en BYTE værdi. S¨ledes: BYTE ItemID[5]={0x17,0,0,0,0}; GamePrintInfo("Nummeret er:" & ItemID ); Så den fx outputter på skærmen: Nummeret er: 170365a4f5 Hvordan gøres dette? ... R ikke så kendt i C++ Takkker!
Annonceindlæg fra COMM2IG
16. januar 2004 - 21:55
#1
Jeg er ikke helt sikker på hvad du vil, men måske noget a la: char buf[100]; sprintf(buf,"Nummeret er: %2X",(int)ItemID[0]); GamePrintInfo(buf); eller: char buf[100]; sprintf(buf,"Nummeret er: %8X",*((int *)ItemID)); GamePrintInfo(buf);
16. januar 2004 - 22:02
#2
Virker, men det skriver kun 1 nummer, altså 17 .. Skal jeg bare sætte [0] [5]?
16. januar 2004 - 22:02
#3
10x?
16. januar 2004 - 22:05
#4
Hvad med mit andet forslag ?
16. januar 2004 - 22:05
#5
prøver lige
16. januar 2004 - 22:06
#6
Ellers: char buf[100]; sprintf(buf,"Nummeret er: %2X%2X%2X%2X%2X",(int)ItemID[0],(int)ItemID[1],(int)ItemID[2],(int)ItemID[3],(int)ItemID[4]); GamePrintInfo(buf);
16. januar 2004 - 22:07
#7
Hvis du skal have alle 5 bytes ud så skal det nok være det sidste.
16. januar 2004 - 22:08
#8
Hmm ved den første skriver den: Nr er : 17 2'eren: Nr. er: BB0DBB17 Der skulle gerne stå 17022f4c44
16. januar 2004 - 22:11
#9
Det virker! .. Hmm kan man konvertere det il små nogstaber således at BB bliver til bb?
16. januar 2004 - 22:11
#10
Prøv det tredie forslag. Jeg kan iøvrigt ikke helt forstå de sidste cifre.
16. januar 2004 - 22:12
#11
%2x i stedet for %2X
16. januar 2004 - 22:12
#12
Og et svar
16. januar 2004 - 22:12
#13
lille x => små bogstaver stort X => store bogstaver
16. januar 2004 - 22:14
#14
Takker mange gange! Hmm kan du eventuelt forklare hvad: sprintf, gør? Hvorfor du skriver: %2X%2X%2X%2X%2X ?
16. januar 2004 - 22:15
#15
sprintf skriver til en streng %2x skriver to hexdecimale cifre 5 bytes = 5 argumenter = 5 gange %2x
16. januar 2004 - 22:17
#16
Og forresten ^^ Hvordan laver jeg mellemrum mellem bytene? så den skriver: Nummer: xx xx xx xx xx
16. januar 2004 - 22:20
#17
Har fundet ud af det! Takker!
16. januar 2004 - 22:26
#18
Ja - man laver bare et mellemrum mellem %2x'erne - printf er ikke så svær
16. januar 2004 - 22:27
#19
Hmm fandt lige et problem .... hvis en af bytene er: 0d Skriver den kun: d i gamet .... Kan der gøres noget ved det?
16. januar 2004 - 22:31
#20
%2x skriver ikke foranstillede nuller men det gør %02x (tallet 0 ikke bogstavet O)
16. januar 2004 - 22:39
#21
Nice! ;P takker!
Kurser inden for grundlæggende programmering