[C con Clase] Pregunta sobre Cadena de caracteres (Arrays)
Williams Cuevas Herrera
williamscuevas2002 en hotmail.com
Vie Ene 5 15:32:06 CET 2007
Si quieres guardar cadenas con espacios puedes usar gets, que guarda
caracteres hasta la longitud -1 especificada, o el caracter \n.
Si trabajas con punteros, es vueno pedir memoria dinámica para la
introducción de datos.
Salu2
----- Original Message -----
From: "Raul Chakraborty" <chakras_ve en hotmail.com>
To: "Lista de correo sobre C y C++" <cconclase en listas.conclase.net>
Sent: Friday, January 05, 2007 11:29 AM
Subject: Re: [C con Clase] Pregunta sobre Cadena de caracteres (Arrays)
Si estas en Borland o Dev, lo mejor es declarar un array fijo he introducir
los datos en este array fijo... es decir:
char cadena[80];
cin>>cadena; (tambien puedes usar scanf("%s", cadena);
Se usa un array fijo y no un apuntador no inicializado, debido a que el
apuntador no garantizaria escribir estos datos en una memoria que no este en
uso, en cambio al declarar un array fijo, se reserva este espacio para el
programa garantizando de que no estas escribiendo sobre memoria que no te
pertenece. OJO no digo que no funcione con un apuntador, solo digo que si
quieres usar un apuntador, deberias inicializaro antes, para evitar que el
equipo o lo que estes programando funcione inadecuadamente.
________________________________
> Date: Fri, 5 Jan 2007 09:18:17 -0500
> From: lashy84 en gmail.com
> To: cconclase en listas.conclase.net
> Subject: Re: [C con Clase] Pregunta sobre Cadena de caracteres (Arrays)
>
> tambien puedes almacenar la cadena en un string y luego leer el string y
> guardarlo en una cadena de caracteres char o usarlo como tipo de datos
> string .
> 2007/1/2, David Reza < l.fix3r.l en gmail.com<mailto:l.fix3r.l en gmail.com>>:
> Hola, me gustaría saber como puedo hacer para que pueda hacer un programa
> que lea una cadena de caracteres y lo guarde en un array de tipo char.
> Esque leí que la asignación directa solo está permitida cuando se hace la
> declaración. Entonces no se puede hacer algo como:
> char cadena[];
> cin >> cadena;
> y esperar que todo lo que reciba cadena se guarde en el array?
> Tal vez puede que si, y sólo se guarde la primera palabra ya que un
> espacio es un carácter nulo y eso le daría a entender al compilador que
> hasta ahí termina la cadena, pero entonces sí se puede?
> También sé que se puede hacer con un púntero, creo que de la siguiente
> forma:
> char *pCadena;
> cin >> pCadena;
> o algo así.
> Ojalá puedan orientarme. Saludos
> -------------------------
> | = David Reza = |
> _______________________________________________
> Cconclase mailing list
> Cconclase en listas.conclase.net<mailto:Cconclase en listas.conclase.net>
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
_________________________________________________________________
Busca desde cualquier página Web con una protección excepcional. Consigue la
Barra de herramientas de Windows Live hoy mismo y GRATUITAMENTE.
http://www.toolbar.live.com
_______________________________________________
Cconclase mailing list
Cconclase en listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Más información sobre la lista de distribución Cconclase