3 Declare variáveis que você vai usar , adicionando o seguinte código na parte superior da sua função :
char * buf , * cur_ptr , * temp_ptr ;
char c ;
size_t mem_size = 200;
size_t mem_used = 0;
4
Chame a função " malloc " para alocar um bloco de memória que você pode usar para armazenar a string , adicionando o código:
buf = ( char *) malloc ( ( mem_size ) * sizeof ( char) );
if ( buf == NULL ) return -1 ;
5
Receba entrada do usuário, um carácter de cada vez, até que uma nova linha ( '\\ n' ) de caracteres ou 200 caracteres são inseridos, adicionando o código :
cur_ptr = buf ;
while (( ! c = getchar ()) = '\\ n' ) {
* cur_ptr + + = c ;
mem_used + +;
if ( mem_used == mem_size ) break; < br >
}
6
Chame a função " realloc " para realocar o bloco de memória , reduzindo o seu tamanho por 2, com o seguinte código :
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 ;
}
o ponteiro " buf " aponta para o início da " string" bloco de memória e " cur_ptr " aponta para a posição atual , que é o fim da " cadeia ".
7
Chame a função de "livre" para liberar o bloco de memória para a cadeia , caso contrário, seu programa terá um vazamento de memória, adicionando o código:
livre ( buf );
8
Salve o arquivo C, compilar e executar o programa para executar o novo código corda
< . br>