Deux autres moyens sont strcpy(str, "");
y string[0] = 0
Pour vraiment effacer le contenu de la variable (au cas où vous avez un code sale qui ne fonctionne pas correctement avec les extraits ci-dessus :P ) utilisez une boucle comme dans l'exemple ci-dessous.
#include <string.h>
...
int i=0;
for(i=0;i<strlen(string);i++)
{
string[i] = 0;
}
Dans le cas où vous voulez effacer un tableau de caractères alloué dynamiquement depuis le début, vous pouvez soit utiliser une combinaison de malloc() et memset() ou - et c'est beaucoup plus rapide - calloc() qui fait la même chose que malloc mais en initialisant le tableau entier avec Null.
Enfin, je veux que vous ayez à l'esprit votre temps d'exécution. De plus, si vous manipulez d'énormes tableaux (6 chiffres et plus), vous devriez essayer de mettre la première valeur à Null au lieu de lancer memset() à travers toute la chaîne.
Cela peut sembler plus sale au début, mais c'est beaucoup plus rapide. Vous devez juste faire plus attention à votre code ;)
J'espère que cela a été utile pour tout le monde ;)