Avatar billede limpa Nybegynder
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?
Avatar billede killer_bee Nybegynder
02. december 2003 - 10:11 #1
du kan bruge de standart funktioner.
char *_itoa(
  int value,
  char *string,
  int radix
);

??
Avatar billede limpa Nybegynder
02. december 2003 - 10:15 #2
Måske, du må lige uddybe så. Hvad skal der stå ved int radix?
Avatar billede arne_v Ekspert
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);
Avatar billede limpa Nybegynder
02. december 2003 - 10:19 #4
Prøver lige... 2 sek...
Avatar billede limpa Nybegynder
02. december 2003 - 10:28 #5
ved sprintf: Cannot convert 'int' to 'char *'

Hvordan ville du implementere dit 1. forslag?
Avatar billede segmose Nybegynder
02. december 2003 - 10:33 #6
char
  str[BUFLEN];
int
  tal = 17;
sprintf(str,"%d",tal);

virker det ikke?
Avatar billede limpa Nybegynder
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.
Avatar billede segmose Nybegynder
02. december 2003 - 10:42 #8
svar
Avatar billede limpa Nybegynder
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?
Avatar billede arne_v Ekspert
02. december 2003 - 10:51 #10
Kan du ikke bare bruge:

sprintf(ch,"%d",tal);

?
Avatar billede arne_v Ekspert
02. december 2003 - 10:51 #11
Og et svar
Avatar billede segmose Nybegynder
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?
Avatar billede limpa Nybegynder
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...
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