Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Problemas con C++

Iniciado por Ogl2k, 18 de Octubre de 2002, 05:17:42 PM

« anterior - próximo »

Ogl2k

                                Estoy intentando hacer una funcion que pueda coger palabras separadas por comas en una cadena.

Creo una cadena para guardar la palabra que quiero coger de esta manera:

char *cadena;

y le asigno un tamaño dinamicamente con:

cadena = new char[3];

pero el problema es que cuando veo la longitud de la cadena con strlen me devuelve que el tamaño es mayor del que he reservado.

¿Alguna idea?.                                

jpastor

                                No entiendo el problema, de todas formas lo intento:

1.- Si lo que haces es strlen(cadena) y te da un numero mas grande que tres es porque en cadena no hay un caracter nulo que indique el fin.

2.- Si lo que pasa es que en cadena no cabe la palabra entera, reserva la memoria más tarde cuando ya sepas el tamaño.                                

synchrnzr

                                Me decanto por la 1 ^_^

Sync                                

nostromo

                                Yo tambien voto por la 1º,
y ademas te aconsejo que utilices la clase basic_string  que esta en C++ y esta clase a la larga te evitara problemas de gestion de espacio, como el que parece que te ocurre.

Sync, por cierto, mú bien por el trabajo que estas haciendo en estos foros :)  

Un saludo.                                

ethernet

En general STL te saca de un huevo de problemas aunque te mete en muchos otros xD

Ogl2k

                                Pues si que era pq no tenia el caracter de fin de linea :).

Ande tendre la cabeza :P

Gracias a todos por la ayuda.                                






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.