3 Declare variabelen dat u wilt gebruiken door het toevoegen van de volgende code aan de bovenkant van uw functie :
char * buf
, * cur_ptr , * temp_ptr ;
char c
;
size_t mem_size
= 200 ;
size_t mem_used = 0 ;
4
Roep de functie " malloc " om een blok van het geheugen die u kunt gebruiken om de string te slaan toe te wijzen , door het toevoegen van de code : < br
buf > = ( char * ) malloc ( ( mem_size ) * sizeof ( char ) ) ;
if ( buf == NULL ) return -1 ;
5
ontvangt input van de gebruiker , een karakter per keer , totdat er een nieuwe regel ( ' \\ n' ) teken of 200 karakters worden ingevoerd , door het toevoegen van de code :
cur_ptr = buf
;
terwijl ( ( c = getchar ( = ' \\ n ' ) {
* cur_ptr + + = c ) ) ;
mem_used + + ;
if ( mem_used == mem_size ) break ; < br ! >
}
6
Roep de functie " realloc " te herverdelen het geheugen blok , het verminderen van de omvang van 2 , met de volgende code :
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 ;
}
de wijzer " buf " wijst op het begin van de "string " memory block en " cur_ptr " wijst op de actuele positie die het einde van de "string ".
7
Roep de functie " vrij " om het geheugenblok vrij voor de snaar , anders zal het programma een geheugen lek , door het toevoegen van de code : .
vrije beelden ( buf ) ;
8
Sla uw C bestand , compileren en uitvoeren van het programma om de nieuwe snaar code uitvoeren
< br >