Avatar billede lasse_hyldal Nybegynder
24. oktober 2002 - 20:12 Der er 3 kommentarer og
1 løsning

int til char * i C

Hvordan typecaster jeg en int-værdi til en char * (streng)?
Avatar billede arne_v Ekspert
24. oktober 2002 - 20:14 #1
Svaret på dit spørgsmål er:

int i = 0x00202020;
char *s = (char *)&i;
Men måske vil du hellere:

int i = 123;
char s[4];
sprintf(s,"%d",i);
Avatar billede arne_v Ekspert
24. oktober 2002 - 20:19 #2
Den sidste er nem at forstå.

Jeg skal måske lige forklare den første.

"  " (en stren med 3 spaces) vil være gemt
som 4 bytes:
  0x20 0x20 0x20 0x00

0x00202020 vil på på en little
endian maskine (x86,VAX,Alpha m.v.)også være gemt som:
  0x20 0x20 0x20 0x00

Men jeg tror stadig at det er den sidste som du leder
efter.
Avatar billede trp79 Nybegynder
25. oktober 2002 - 10:12 #3
Vil det sige at hvis man har en streng derbestår af 8 karakter, så fylder den 9 bytes?
Avatar billede arne_v Ekspert
25. oktober 2002 - 12:13 #4
Ja. Fordi du har en nul char til sidst som terminering.
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