Como Paso Una Cadena Char A Int? (C++)

iman13

Lanero Regular
21 Mar 2007
1
Dentro de mi programa utilice "Char" para captura de datos mas sin embargo a la hora de utilizarlos para realizar operaciones no me lo permite y me marca errores, que puedo hacer para convertir y poder utilizar esos datos en operaciones?
 
usa std::sstream

por ejemplo:

Código:
char* string = "532";
std::istringstream ss(string);
int i;
ss >> i;
 
jajaja aqui hay otra por si las moscas..

AnsiString x;
char z [5]="123";
int y;
x=z;
y=x.ToInt();

jejeje en builder c++ ambiente grafico!
 
UA©-LiKÍßÜ奫ا» dijo:
jajaja aqui hay otra por si las moscas..

AnsiString x;
char z [5]="123";
int y;
x=z;
y=x.ToInt();

jejeje en builder c++ ambiente grafico!

El problema es que c++ builder no usa librerías estándar, como esa y normalmente solo sirven en ciertas plataformas *cough* windows *cough*
 
iman13 dijo:
Dentro de mi programa utilice "Char" para captura de datos mas sin embargo a la hora de utilizarlos para realizar operaciones no me lo permite y me marca errores, que puedo hacer para convertir y poder utilizar esos datos en operaciones?

Ademas lo que se puede hacer es lo siguiente:

void main()
{ int x;
AnsiString cad='125';

x=val(cad)+val(cad);
cout<<x"; //va a escribir 250
}

Osea, la funcion Val lo que hace es evaluar la cadena, esta debe ser solo de numeros, y los convierte en entero. No se si te sirve.. pero ahi esta ;)
 
atoi solo funcion para char y char*... si utilizas string, se lo pasas asi:

int x;
string nombre;
x = atoi (nombre.c_str());
 
listo creo q ya estan todas la posibles formas de pasar un char a entero! o por lo menos las mas faciles conocidas!
salu2
 
Porque No Utilizas La Funcion Unsigned Char; Pues Con El Me Ha Trabajado Todo Desde Numeros Hasta Letras Y No He Tenido Ningun Problema.....
 
re convertir char a int

consejo: acostumbrate a utilizar los nuevos tipos de cast, static_cast, dynamic_cast y reinterpret_cast, en tu caso en particular yo te recomendaria utilizar reinterpret_cast, ya que permite hacer casi cualquier cosa (como los cast tradicionales de c)

ej:

char *numeros = "1234";
int num;

num = reinterpret_cast<int>(numeros);

salu2
 
no es enredar.. ahora es aprender los metodos posibles...
cada quien elije el que crea más facil y asi lo utiliza..
 
pues mi metodo es diferente:
primero hago un bucle para saber cuantos numeros tiene.
y despues otro para pasarlo a numeros.
como este:
char palabra[80];
int numero = -1,i;
int y;


for (i = 0; i <= 80; i++){
if (palabra - '0' > 0) {
numero += 1;
}
else
{
break;
}
}
for (i = 0; i <= numero;i++){
y *= 10;
y += palabra -
'0';
}
 
alejandro32 muy interesante tu método...
este seria cuando no se nos sea permitido usar funciones...

gracias por tu aporte.
 

Los últimos temas