Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> C /C + + Programming >> Content
Hoe de lengte van een string in C Verminder
Bij het werken met strijkers in C , kan het nuttig zijn om dynamisch vergroten of verkleinen van een touwtje om zijn geheugen efficiënt te beheren . Normale strings gedefinieerd door de " char * " keyword hebben statische maten die niet kan veranderen , dus je moet direct in plaats werken met geheugenblokken . Gebruik de functie " malloc " naar een geheugenblok dat de string en dan de " realloc " om het geheugen blokgrootte wijzigen slaat creëren . Instructies
1

Open uw C bronbestand in een editor zoals Microsoft Visual Studio Express . Kopen van 2

Voeg de volgende code aan de bovenkant van uw C bronbestand zodat heeft u toegang tot de geheugenfuncties :

# Include

# include
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 >

Previous: Next:
  C /C + + Programming
·C Functie Return Types 
·Hoe je tekst voor creëren Dir…
·Hoe een buffer in Voeg C + + 
·Hoe maak je een grafiek Sine W…
·Hoe maak je een C-programma te…
·Hoe een bestand in C Delete 
·Hoe kan ik een string omzetten…
·Hoe je alle DataGrid evenement…
·Verschil tussen C & Visual C 
  Related Articles
Hoe maak je een Combo Box Maak in Visual…
Hoe maak je een Check Box Maak in Visual…
Hoe maak je een tekstvak maken in Visual…
Hoe maak je een optie Box in Visual Basi…
Hoe maak je een schijf keuzelijst in Vis…
Hoe kan ik een keuzelijst maken in Visua…
Hoe kan ik een Picture Box Maak in Visua…
Hoe een bestand keuzelijst Maak in Visua…
Hoe kan ik een afbeelding Box Maak in Vi…
  Programmering Articles
·Over SQL Profiler Gebruik 
·Hoe te stoppen One PHP & Start ander PHP…
·Wat zijn de twee functies van DMAP ? 
·Definitie van Visual Basic 6.0 
·Hoe te Ant configureren Met Eclipse Step…
·Hoe te versturen Mass Facebook Notificat…
·De dichtstbijzijnde Integer Functie in P…
·Hoe te Registratieformulieren Maak in Ja…
·Hoe je MySQL upgraden op XAMPP 
Copyright © Computer Kennis http://www.nldit.com