PDA

Visualizza la versione completa : [C++] Da cstring a int


renzo74
02-03-2003, 21:03
#include <cstring>

...

string Str_es = "0123";
...
____________________________

Come faccio a convertire la stringa in int in maniera da poter fare i relativi calcoli con numero 123 (in questo caso)?

Grunt
03-03-2003, 15:00
#include<string.h>

int str2int(char *s)
{
int intVal=0;
bool neg = false;
for (unsigned int i=0; i< strlen(s); i++)
{
if (s[i]=='-')
neg= ! neg;
else
intVal= (intVal*10)+(s[i]-48);
}
return (neg)? -intVal: intVal;
}

Così dovrebbe funzionare!!

renzo74
04-03-2003, 20:44
Originariamente inviato da Grunt


#include<string.h>

int str2int(char *s)
{
int intVal=0;
bool neg = false;
for (unsigned int i=0; i< strlen(s); i++)
{
if (s[i]=='-')
neg= ! neg;
else
intVal= (intVal*10)+(s[i]-48);
}
return (neg)? -intVal: intVal;
}

Così dovrebbe funzionare!!

Questa funzione va bene passando dei delle stringhe tipo "char *" ma non string.:cry:
Io ho un array di stringhe di tipo "string[]" e 4 caratteri di queste stringhe (sempre nella stessa posizione) li devo convertire ad int.:master:

:bhò:

TheGreatWorld
04-03-2003, 21:04
la classe string (che sta in string e non in cstring) ha un metodo che ritorna la stringa in stile char* chiamato c_str. Puoi utilizzare quello.

bye

Loading