Avatar billede dehdar Nybegynder
07. marts 2008 - 09:54 Der er 2 kommentarer og
1 løsning

hvordan konverterer man string til integer?

Hej, hvordan laver man en string om til en integer?

Se følgende eksempel:

int x = 0;

string y = "Hejsa";

x = y[0] + y[1];

y[0] er i dette tilfælde 'H' og y[1] er 'e'. Jeg ønsker ascii værdien i integer form. Jeg har forsøgt at caste og ved at bruge atoi(y[i]) funktionen, men ligeledes hjælper det.

please help :)
Avatar billede rask2 Nybegynder
07. marts 2008 - 10:06 #1
Hvis du vil convertere mellem ascii og integer anvender du 'atoi'
Avatar billede rask2 Nybegynder
07. marts 2008 - 10:15 #2
Men kan man gøre det på en text streng?
Avatar billede segmose Nybegynder
07. marts 2008 - 11:32 #3
atoi er kun for tal tegnene, ikke for bogstaver.

For at få fat i char værdierne kan det være nødvendigt at bruge .c_str() for at få en char * ud af string, hvis string indeholder unicode vil det dog ikke virke eftr hensigten.

x = int(y.c_str()[0]) + int(y.c_str()[1]);

ellers check hvad giver x0 i tilfældet herunder.

string y = "A";

int
  x0 = y[0],  // x0 burde være 65 og ihvertfald ikke over 255.
  x1 = y.c_str()[0];

if (x0 != x1 || sizeof(y[0] != 1)
  printf("der er vist et problem med unicode\n");
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