Avatar billede madox Nybegynder
05. oktober 2005 - 11:33 Der er 7 kommentarer og
1 løsning

Konvertere mellem int og char*

Jeg har et array, PUNKT punkter[85], hvor PUNKT er defineret ved følgende struct:
typedef struct punkt_{
  float x, y;               
  char *navn;
} PUNKT;

for at initialisere disse structs benytter jeg en for-løkke hvor tælleren i løkken, som er en int, skal konverteres til en char* og indsættes i navn.

for(int i = 0; i<85;i++){
  punkter[i].navn = konverter_til_char*(i);
}

men hvordan konverterer jeg i il en char* ?
Avatar billede arne_v Ekspert
05. oktober 2005 - 11:41 #1
for(int i = 0; i<85;i++){
  punkter[i].navn = (char*)malloc(3);
  sprintf(punkter[i].navn,"%d",i);
}

må være en mulighed
Avatar billede arne_v Ekspert
05. oktober 2005 - 11:41 #2
husk at få deallokeret igen

lav evt. pointer om til et array for at undgå allokering og deallokering
Avatar billede madox Nybegynder
05. oktober 2005 - 11:51 #3
hvordan ved jeg hvor "langt" arrayet skal være. Afhænger dette af hvor højt et tal jeg skal indsætte ?
Avatar billede arne_v Ekspert
05. oktober 2005 - 11:57 #4
ja

85 = 2 cifre

2 cifre + 1 terminerend e0 byte = 3 char
Avatar billede madox Nybegynder
05. oktober 2005 - 12:02 #5
ok. tak for hjælpen.
Gider du skrive et svar
Avatar billede arne_v Ekspert
05. oktober 2005 - 12:05 #6
svar
Avatar billede arne_v Ekspert
05. oktober 2005 - 12:05 #7
og overvej som sagt et array fremfor en pointer - det vil være meget nemmere
Avatar billede madox Nybegynder
05. oktober 2005 - 12:32 #8
ja, har allerede ændret det :-)
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