3 déclarer des variables que vous utiliserez en ajoutant le code suivant au début de votre fonction :
char * buf, * cur_ptr , * temp_ptr ;
char c ;
mem_size size_t = 200;
size_t mem_used = 0;
4
Appelez la fonction " malloc " pour allouer un bloc de mémoire que vous pouvez utiliser pour stocker la chaîne , en ajoutant le code suivant:
buf = (char *) malloc ( ( mem_size ) * sizeof (char) ) ;
if ( buf == null) return -1 ;
5
recevoir une entrée utilisateur , un caractère à la fois, jusqu'à un caractère de nouvelle ligne ( " \\ n " ) ou 200 caractères sont entrés , en ajoutant le code suivant:
cur_ptr = buf ;
while (( c = getchar ()) = '\\ n' ) {
* cur_ptr + + = c ; !
mem_used + +;
if ( mem_used == mem_size ) break; < br >
}
6
Appelez la fonction " realloc " de réaffecter le bloc de mémoire , ce qui réduit sa taille par 2, avec le code suivant :
if ( mem_used > 2 ) {
mem_size - = 2;
temp_ptr = realloc ( buf, mem_size ) ;
if ( temp_ptr == null) return -1 ;
buf = temp_ptr ;
cur_ptr = buf + mem_used ;
}
le pointeur " buf " pointe vers le début du bloc de mémoire "string" et " cur_ptr " souligne la position actuelle , qui est la fin de la « chaîne ».
7
appeler la fonction «libre» pour libérer le bloc de mémoire pour la chaîne , sinon votre programme aura une fuite de mémoire , en ajoutant le code suivant: .
libre ( buf ) ;
8
Enregistrez votre fichier C , compiler et exécuter le programme à exécuter le nouveau code de chaîne