1
Abra el archivo de origen C en un editor como Microsoft Visual Studio Express.
2
Agregue el código siguiente al principio del archivo fuente C para que puede acceder a las funciones de la memoria :
# include # include Declare las variables que va a utilizar , añadiendo el siguiente código en la parte superior de su función : char * buf, cur_ptr * , * temp_ptr ; char c ; mem_size size_t = 200 ; size_t mem_used = 0 ; llamar a la función " malloc " para asignar un bloque de memoria que se puede utilizar para almacenar la cadena , con el código : buf = (char *) malloc ( ( mem_size ) * sizeof (char )); if ( buf == NULL ) return -1 ; Recibir la entrada del usuario , un carácter a la vez, hasta que haya introducido un carácter de nueva línea ('\\ n ') o 200 caracteres , con el código : cur_ptr = buf ; while (( c = getchar ()) = ' \\ n' ) { * cur_ptr + + = c ; ! mem_used + + ; if ( mem_used == mem_size ) break; } llamar a la función " realloc " para reasignar el bloque de memoria , lo que reduce su tamaño por 2, con el siguiente código : if ( mem_used > 2 ) { mem_size - = 2 ; temp_ptr = realloc ( buf, mem_size ) ; if ( temp_ptr == NULL ) return -1 ; cur_ptr = buf + mem_used ; } el puntero puntos " buf " al comienzo del bloque de memoria " cadena" y " cur_ptr " apunta a la posición actual , que es el fin de la " cadena ". llamar a la función "libre " para liberar el bloque de memoria para la cadena , de lo contrario el programa tendrá una pérdida de memoria , con el código : . libre (buf ) ; Guarde el archivo C, compilar y ejecutar el programa para ejecutar el nuevo código de cadena
3
4
5
6
< p > buf = temp_ptr ;
7
8