Foros del Web » Programación para mayores de 30 ;) » Programación General »

Duda sobre tipo de dato char en C++

Estas en el tema de Duda sobre tipo de dato char en C++ en el foro de Programación General en Foros del Web. Hola tengo una duda grande en C\C++ es acerca del tipo char, no se como trabajar con él Por ejemplo creo el char char apellido[10]; ...
  #1 (permalink)  
Antiguo 13/07/2005, 08:20
 
Fecha de Ingreso: abril-2004
Mensajes: 317
Antigüedad: 19 años, 11 meses
Puntos: 0
Duda sobre tipo de dato char en C++

Hola tengo una duda grande en C\C++

es acerca del tipo char, no se como trabajar con él

Por ejemplo creo el char

char apellido[10];

y luego trato de asignarle una cadena, por ejemplo "Garcia" y por más vueltas que le doy no lo logro, siempre me salen mensajes de error a la hora de compilar.

-Mi segunda pregunta es cuando usar String y cuando AnsiString

Agradecería cualquier ayuda a respecto y si es posible una pequeña explicación acerca del uso del tipo char.

pues, por ejemplo, que digo yo con esto ?

char apellido[10], un char de 10 caracteres no?, entonces como sería un arreglo de 20 elementos char?

Estoy confuso!! vamos los programadores ayuda!!!!

Gracias
  #2 (permalink)  
Antiguo 13/07/2005, 08:28
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 19 años, 10 meses
Puntos: 74
Aca tenes un mini tutorial de un servidor:
http://www.c0d3rz.com.ar/foro/viewtopic.php?t=37
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 13/07/2005, 09:00
 
Fecha de Ingreso: abril-2004
Mensajes: 317
Antigüedad: 19 años, 11 meses
Puntos: 0
gracias amigo pero por alguna razón la url que me pones no me abre


Sigo con el problema!!Ayuda!!!
  #4 (permalink)  
Antiguo 13/07/2005, 09:06
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 19 años, 10 meses
Puntos: 74
No puede ser, funciona perfectamente ...

Te lo copio y chau
Cita:
Iniciado por Eternal Idol
Buenas,

otra vez aca llego con un tutorial bastante sencillito pero que muchas veces surje la duda, especialmente en los que empiezan con C despues de haber trabajado con otros lenguajes (yo fui de esos tambien ).

C no tiene el magico tipo de dato string pero si unas funciones muy faciles de usar. Que es en definitiva una cadena de caracteres? Ese tipo string? Pues en general no es mas que un array de bytes (o sea muchos numeros uno al lado del otro) que gracias a su codigo ASCII forman letras y numeros, terminados con un 0.

La pregunta del millon como declarar cadenas en C, bueno sabemos que hay un tipo primitivo llamado char (que tiene un tamaño de un byte), si usamos un solo char tenemos un espacio para una letra por ejemplo la A (cuyo codigo ASCII es 65 y pueden comprar haciendo ALT+65 con num lock on) o un numero como el 2 (cuyo codigo ASCII es el 50).

char letra = 65; es equivalente a char letra = 'A';
char numero = 50; es equivalente a char letra = '2';

Pero obviamente un caracter no nos alcanza para nada, el chiste esta en usar arrays estaticos o dinamicos (mis preferidos por mucho).

Array estatico char nombre[50];
Array dinamico char *nombre = (char*)malloc(50);

SIEMPRE HAY QUE RECORDAR LIBERAR LA MEMORIA DINAMICA CON free(); EN ESTE CASO HARIAMOS free(nombre);

Ahora me diran, muy bonito tenemos un array vacio que no nos sirve para nada ... pero no, si que nos sirve y de mucho.
Operaciones simples con strings:

Darle un valor especifico (=) : strcpy(nombre,"Mariano");
Agregar otra string (+) : strcat(nombre," Gabriel");

Con eso tienen para empezar y divertirse, si necesitan hacer algo especifico no duden en preguntar.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #5 (permalink)  
Antiguo 14/07/2005, 01:23
 
Fecha de Ingreso: julio-2005
Ubicación: Barcelona
Mensajes: 3
Antigüedad: 18 años, 8 meses
Puntos: 0
Como se puede leer n el comentario, siempre que quieras asignar un valor a una cadena, tienes que utilizar string copy (strcpy)!!!!!!!!!!!!

Si tienes alguna otra duda pregunta.
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




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