17. april 2002 - 19:54
Der er
3 kommentarer og
1 løsning
CString til BYTE
Hejsa
Jeg har en CString f.eks string="FE40" og en BYTE byte[2].
Nu vil jeg gerne have lavet det sådan at byte[1] bliver = "FE" og byte[2] bliver = "40"
Det er i forbindelse med at jeg skal bruge det som en hex værdi. Mit problem er at jeg kun kan finde ud af at læse en karakter fra CString, men jeg skal jo bruge 2 for at lave en BYTE hex værdi. (0xfe, 0x40)
Håber jeg har gjort mit spørgsmål klart nok..
På forhånd tak !
/karlshøj
18. april 2002 - 11:57
#1
Prøv
int i0,i1;
sscanf( "FE40", "%2x%2x", &i0, &i1);
byte[0] = i0; byte[1] = i1;
sscanf kan ikke tage byte direkte fordi den forventer en 32 bit type
18. april 2002 - 12:12
#2
Det var der jo ikke så meget i..
Men lige en ting, denne tager jo kun en Char string, men funktion skal kunne tage en CString.
CString string="FE40";
BYTE byte[2];
int i0,i1;
sscanf(string, "%2x%2x", &i0, &i1);
byte[0] = i0;
byte[1] = i1;
Men når man kører det med en CString går programmet ned, så hvis det kan ændres vil svaret være perfekt.
18. april 2002 - 15:13
#3
sscanf(string.GetBuffer (), "%2x%2x", &i0, &i1);
18. april 2002 - 15:39
#4
Takker, det virker jo kanon.
Det var jo slet ikke så svært, som jeg troede det var...
Kurser inden for grundlæggende programmering