Avatar billede karlshoj Nybegynder
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
Avatar billede flarup Nybegynder
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
Avatar billede karlshoj Nybegynder
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.
Avatar billede .cpp. Nybegynder
18. april 2002 - 15:13 #3
sscanf(string.GetBuffer (), "%2x%2x", &i0, &i1);
Avatar billede karlshoj Nybegynder
18. april 2002 - 15:39 #4
Takker, det virker jo kanon.

Det var jo slet ikke så svært, som jeg troede det var...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester