Dos formas son strcpy(str, "");
y string[0] = 0
Para eliminar realmente los contenidos de las variables (en caso de tener código sucia que no es funciona correctamente con los fragmentos arriba: P) utiliza un bucle como en el ejemplo a continuación.
#include <string.h>
...
int i=0;
for(i=0;i<strlen(string);i++)
{
string[i] = 0;
}
En caso de que desea borrar una matriz dinámica asignada de caracteres desde el principio, puede utilizar una combinación de malloc() y memset() o - y esto es mucho más rápido - calloc() que hace lo mismo que malloc pero inicializando toda la matriz con nulo.
Por fin quiero que tengas tu tiempo de ejecución en mente. Más aún, si maneja matrices enormes (6 dígitos o más) debe intentar establecer el primer valor en nulo en lugar de ejecutar memset() a través de toda la cadena.
Puede parecer más sucio al principio, pero es mucho más rápido. Sólo tiene que prestar más atención en su código;)
Espero que esto era útil para nadie;)
Su ejemplo es confuso. Aparentemente el buffer ha sido declarado en otro lugar e intentas inicializarlo desde un literal. No hay necesidad de borrar nada aquí. – pmr
string.empty() no modifica la cadena –