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-
my_string[0] = 0;
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".
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