Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Juntar variables char

Estas en el tema de Juntar variables char en el foro de C/C++ en Foros del Web. tengo en 4 variables tipo char 4 número diferentes. Necesito pasar esto a una variable tipo int. Ideas??...
  #1 (permalink)  
Antiguo 02/10/2010, 08:25
Avatar de raulg  
Fecha de Ingreso: enero-2010
Mensajes: 55
Antigüedad: 14 años, 3 meses
Puntos: 0
Pregunta Juntar variables char

tengo en 4 variables tipo char 4 número diferentes. Necesito pasar esto a una variable tipo int. Ideas??
  #2 (permalink)  
Antiguo 02/10/2010, 15:17
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Juntar variables char

tenes un array o cuatros variables por separado??

si es un array hace un casteo:
numero = (int) array;

sino usa corrimiento de bits.

numero = char1;
numero = numero << 8 + char2;
numero = numero << 8 + char3;
numero = numero << 8 + char4;
  #3 (permalink)  
Antiguo 02/10/2010, 21:43
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Juntar variables char

sam90, si tu preguta es por ejemplo si se tienes
car1 = '5'
car2 = '6'
car3 = '9'
car4 = '7'

De principio la primera marcaria error por que lo estarias casteando no seria un numero si una direccion de memoria, y la segunda no funcionaria, ya que el corrimiento de bits se realiza en multiplos de dos, ademas '0' en caracter es el 48, segun el codigo ASCII

la opcion es
int ceroChar =48;
int numero = (car1-ceroChar)*1000+car2*(car2-ceroChar)*100+...
  #4 (permalink)  
Antiguo 03/10/2010, 14:15
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Juntar variables char

Con respecto a la primer solucion tienes razon. Y sobre la segundo solucion nunca se me paso por la mente que tenian caracteres numericos. Como que pense una forma de hacer un numero cualquiera a partir de caracteres cuaqluiera.
  #5 (permalink)  
Antiguo 03/10/2010, 19:31
 
Fecha de Ingreso: enero-2008
Ubicación: Oruro
Mensajes: 50
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Juntar variables char

mm no entiendo bien quieres pasar los cuatro caracteres char a cuatro variables tipo int , o unirlos todos y pasarlos a una variable int?
con este codigo se une todo y lo convierte en un int
----------------------------------------------------------
#include<cctype>
#include<iostream>
#include <string>
using namespace std;
int main(){
char a,b,c,d;
string e="";
int num;
cin>>a>>b>>c>>d;
e+=a;
e+=b;
e+=c;
e+=d;
num=atoi(e.c_str());
cout<<num<<endl;
return 0;
}
----------------------------
saludos ^^.
  #6 (permalink)  
Antiguo 04/10/2010, 14:02
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Juntar variables char

buena sugerencia geforcefx, solo que yo en lugar de declarar e como string, yo recomendaria preferiria utilizar char e[5];
y para agregar un cararacter
e[0] = a;
e[1] = b;
e[2] = c;
e[3] = d;
e[4] = '\0';
  #7 (permalink)  
Antiguo 04/10/2010, 15:28
 
Fecha de Ingreso: enero-2008
Ubicación: Oruro
Mensajes: 50
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Juntar variables char

cierto tiene razon margarito04 asi se evita llamar a c_str() para convertirlo.
saludos^^.

Etiquetas: char, juntar, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:22.