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

Calcular longitud de strings

Estas en el tema de Calcular longitud de strings en el foro de C/C++ en Foros del Web. Hola, lo que quiero es diseñar un programa al cual introduzco una cadena de caracteres y mediante una funcion calculo el tamaño de dicha cadena. ...
  #1 (permalink)  
Antiguo 06/08/2008, 03:29
 
Fecha de Ingreso: julio-2008
Mensajes: 25
Antigüedad: 15 años, 9 meses
Puntos: 0
Calcular longitud de strings

Hola, lo que quiero es diseñar un programa al cual introduzco una cadena de caracteres y mediante una funcion calculo el tamaño de dicha cadena. He hecho esto:

int LongitudCadena(char *cadena)
{
int longitud = 0;

do
{
longitud++;
}
while(cadena[longitud] != NULL);
return longitud;
}

El problema es que solo sirve para calcular el tamaño de la primera palabra de la cadena ¿Por que? ¿Como lo soluciono?
Un saludo
  #2 (permalink)  
Antiguo 06/08/2008, 08:07
 
Fecha de Ingreso: diciembre-2004
Mensajes: 278
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Calcular longitud de strings

Te sirve strlen()?

http://www.cplusplus.com/reference/c...ng/strlen.html

Prueba tambien con
Código:
sizeof( cadena );
  #3 (permalink)  
Antiguo 06/08/2008, 11:08
 
Fecha de Ingreso: agosto-2008
Ubicación: Mi casa!!! Perú-Aqp
Mensajes: 28
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Calcular longitud de strings

Holaa creo que puede ser que cuando llames a tu funcion estes recibiendo la cadena con el cin , entonces ahi solo te esta recibiendo la primera palabra de la frase que pongas y despues solo te calcula la longitud de esta y lo demas q escribiste no.....prueba recibiendo con el gets q funciona como el cin y ademas recibe por ejemplo:
ingrese frase:
hola como estas

con el gets tienes todo => hola como estas
con el cin solo tendrias =>hola


void main()
{
char frase[200];
puts("Ingrese frase ");
gets(frase);
cout<<"longitud cadena: "<<LongitudCadena(frase);
}


bueno espero que soluciones el problema.....y si no es lo q pienso pon la respuesta !! para aprender cuidate!!
pd: m olvidaba tb calcula los espacios en blanco!
  #4 (permalink)  
Antiguo 06/08/2008, 12:21
Avatar de WaRc3L  
Fecha de Ingreso: agosto-2008
Ubicación: My House
Mensajes: 89
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Calcular longitud de strings

Buenas, lo mas facil seria hacer un for. Aqui te dejo un ejemplo:

Código:
char cadena[50];
gets(cadena);
int i = 0;
for ( i = 0;cadena[i] != '\0'; i++);

// el \0 sirve para que el compilador sepa quando acabe la frase
Espero que te haya servido!,

PD: Gracias zare por el gets jeje!

Última edición por WaRc3L; 06/08/2008 a las 12:22 Razón: un fallo jeje
  #5 (permalink)  
Antiguo 06/08/2008, 13:27
 
Fecha de Ingreso: agosto-2008
Ubicación: Mi casa!!! Perú-Aqp
Mensajes: 28
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Calcular longitud de strings

Holaa otra vez!!
a mi me enseñaron que el null es igual que '\0'

ajaaaa yo tb tengo mi funcion con un for pero la que hizo
nahrein ...tb funciona!! de naa :D
.....todos estamos para aprender y ayudarnos!!! :)
  #6 (permalink)  
Antiguo 06/08/2008, 13:43
Avatar de WaRc3L  
Fecha de Ingreso: agosto-2008
Ubicación: My House
Mensajes: 89
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Calcular longitud de strings

jeje, no sabia que \0 era igual que NULL ( con los char ), solo sabia que con los int, NULL valia 0. Gracias otra vez zare jeje!
  #7 (permalink)  
Antiguo 06/08/2008, 13:54
 
Fecha de Ingreso: julio-2008
Mensajes: 25
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Calcular longitud de strings

Problema resuelto. Gracias.
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 2 personas




La zona horaria es GMT -6. Ahora son las 14:08.