02. december 2003 - 10:08
Der er
11 kommentarer og 2 løsninger
int to string
Jeg prøver at lave en lille funktion der konvertere en int til en string. Jeg har fået at vide at det ikke kan lade sig gøre. Er det rigtig?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
02. december 2003 - 10:11
#1
du kan bruge de standart funktioner. char *_itoa( int value, char *string, int radix ); ??
02. december 2003 - 10:15
#2
Måske, du må lige uddybe så. Hvad skal der stå ved int radix?
02. december 2003 - 10:17
#3
radix skal være 10 (formoder jeg). itoa er iøvrigt ikke standard. Et alternativ er: sprintf(str,"%d",tal);
02. december 2003 - 10:19
#4
Prøver lige... 2 sek...
02. december 2003 - 10:28
#5
ved sprintf: Cannot convert 'int' to 'char *' Hvordan ville du implementere dit 1. forslag?
02. december 2003 - 10:33
#6
char str[BUFLEN]; int tal = 17; sprintf(str,"%d",tal); virker det ikke?
02. december 2003 - 10:38
#7
Er lidt træt her til morgen... Det virker vist fint nu :-) Tak for hjælpen. Point til arne og segmose.
02. december 2003 - 10:42
#8
svar
02. december 2003 - 10:45
#9
Og lige som i troede jeg var færdig... string *itos(int tal, char *ch) { if (tal < 10) { sprintf(ch[i++],"%d",(tal%10)); } else { itos(tal /10); sprintf(ch[i++],"%d",tal%10); } } Jeg er som sagt lidt træt, men hvad gør jeg galt?
02. december 2003 - 10:51
#10
Kan du ikke bare bruge: sprintf(ch,"%d",tal); ?
02. december 2003 - 10:51
#11
Og et svar
02. december 2003 - 10:56
#12
her mangler du vel et argument? itos(tal /10); skulle vel være itos(tal / 10, ch); men del vil stadig ikke køre da i er udefineret og du har nogle problemer med at få opdateret tingene på de rigtige tidspunkter, hvorfor vil du lave det recursivt og ikke som arne skriver?
02. december 2003 - 10:57
#13
Jo, det kan jeg godt hvis det skal være så nemt! Jeg tror bare jeg ligger mig ind og sove igen. Takker...
Kurser inden for grundlæggende programmering