Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: *Astral* en 02 de Febrero de 2008, 04:18:09 PM

Título: Pregunta C++
Publicado por: *Astral* en 02 de Febrero de 2008, 04:18:09 PM
Bueno, esta pregunta es para una amiga que tiene un problema... :S... a ver si pueden hecharle una mano:

Ella necesita, técnicamente "Vaciar para reemplazar el contenido de una cadena CHAR".

Muchas gracias de antemano.

-It's all right now-
Título: Pregunta C++
Publicado por: tamat en 02 de Febrero de 2008, 05:14:44 PM
my_string[0] = 0;
Título: Pregunta C++
Publicado por: Mars Attacks en 03 de Febrero de 2008, 07:50:29 PM
O memset(my_string,'\0',strlen(my_string)); si quiere ser más meticulosa. Lo de tamat es más eficiente, es un "formateo rápido".
Título: Pregunta C++
Publicado por: shephiroth en 04 de Febrero de 2008, 06:47:14 PM
Quizas llego un poco tarde, pero las cadenas char en c/c++ son un poco puñeteras. Las siguientes instrucciones, aunque muy parecidas, no son lo mismo:

char[] cadena = "hola mundo";
char[20] cadena = "hola mundo";
char * cadena = "hola mundo";
char * cadena = (char*)malloc(...); strcpy(cadena,"hola mundo");


En la primera opcion, hacer "cadena[0]=0" seria correcto, pero puede producir perdidas de memoria. En la segunda se podría hacer sin problemas. En la tercera, seria incorrecto hacer un uso dinamico de memoria estática. En la cuarta, utilizamos de forma dinamica la memoria dinamica, por la que no hay problema siempre que tengamos constancia y se haga un delete de forma correcta.

SUERTE