Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> C /C + + Programming >> Content
C voor Strcmp Functie
C + + een string vergelijking functie bevat al - " strcmp ( ) " - die de taak van het vergelijken van twee strings voor gelijkheid uitvoert. De strcmp () geeft verschillende waarden afhankelijk van de verhouding van de snaren elkaar . De implementatie van een strcmp ( ) functie verschilt tussen computer architecturen ( of blijft onder licentie van verschillende leveranciers ) , maar een programmeur kan de basisfunctionaliteit van de code herimplementeren om te zien hoe het werkt . Om de functie te begrijpen , echter , de programmeur moet begrijpen in C hoe strings , arrays en pointers werken en C + + . Strijkers , Arrays en pointers

In C , strings zijn verzamelingen ( of arrays ) karakters . Bijvoorbeeld ,

char koord
[ 10 ] ;

een array van 10 karakters , "string " een zin C. Echter , arrays zijn eigenlijk pointers of variabelen betreffende geheugenadres . De array "string " vertegenwoordigt eigenlijk een pointer naar het eerste item in het geheugen blok , en de programmeur kan verwijzen naar de andere items in de array door deze pointer .
Definiëren " strcmp ( ) " < br >

De basis definitie van een strcmp functie zal er ongeveer zo uitzien :

int strcmp ( const char * str1 , const char * str2 ) ;

per definitie is een string vergelijking functie zal gebruik maken van twee character arrays ( str1 , str2 ) . Sinds de arrays vertegenwoordigen pointers , zal de definitie karakter twee pointers nemen . Met deze tips , kan de programmeur controleert elk item in een array tegen een andere array. Maar eerst moet de programmeur verklaren twee character variabelen , waarvan de waarden gevonden in de twee strings zal houden :

int strcmp ( const char * str1 , const char * str2 ) {

char a , b ;

}

doorkruisen van de snaren

om de snaren te vergelijken , moet de functie elk teken te vergelijken in elke koord elkaar . Om dit te doen , de programmeur maakt gebruik van de twee wijzers ( str1 , str2 ) te bewegen naar beneden elke array :

terwijl ( * str1 = ' \\ 0 ' && * str1 == * str2 ! ) {

str1 + + ; //beweegt de wijzer van de string str1 naar het volgende teken

str2 + + ; //doet hetzelfde , str2

}


de while lus doet de zoeken : eerste , als str1 klappen een beëindiging teken ( " \\ 0 " , die wordt toegevoegd aan het einde van de snaren door de taal C ) , dan is de lus stopt , want die string wordt gedaan . Ten tweede, als de waarde van str1 ( * str1 ) niet gelijk is aan de waarde van str2 ( * str2 ) , dan is de lus stopt , omdat de snaren zijn ongelijk .
Terugkerend het Resultaat
< br

Strcmp > retourneert een van drie resultaten : 0 ( als de snaren gelijk ) , 1 (als de eerste groter is dan de tweede ) en -1 ( indien het eerste kleiner is dan de tweede )

char a = * str1 ;

char b = * str2
;

if ( a == b ) op Twitter

{ return 0 ; }

anders

{return ( ( a < b ) -1 : 1 ) ; }

Sinds de lussen stoppen wanneer er ongelijkheid of wanneer beide klaar zijn, het resultaat zal eindigen als twee gelijke tekens ( de ' \\ 0 ' symbool ) of de ongelijke tekens gevonden .
compleet code

de volledige code , dan , lijkt op deze ( en implementaties zal variëren , afhankelijk van de techniek of het systeem voorwaarden ) :

int strcmp ( const char * str1 , const char * str2 ) {

char a , b ;

terwijl ( * str1 = ' \\ 0 ' && * str1 == * str2 ) {

str1 + + ; //beweegt de wijzer van de string str1 naar het volgende teken

str2 + + ; //doet de zelfde , str2

}

char a = * str1
;

char b = * str2 ;

if ( a == b ) op Twitter

{ return 0 ; }

anders

{return ( ( a < b ) -1 : 1 ) ; }

}

invoeren van twee strings , zoals

char
tekenreeks1 [ 40 ] = " Dit is string" ;

char
string2 [ 40 ] = " Dit is string" ;

int
resultaat = strcmp ( tekenreeks1 , tekenreeks2 ) ;

zal terugkeren 0 ;

Previous: Next:
  C /C + + Programming
·Hoe te Netcat Compile 
·Hoe de Stack Implementeren ADT…
·Hoe te Flex Compileer aan iPho…
·Hoe maak je een klok in C Zorg…
·Hoe maak je een dynamische Str…
·Hoe maak je een opdracht knop …
·Hoe te openen een PDF-bestand …
·Hoe maak je een debugger Detec…
·Hoe te Games voor Apple produc…
  Related Articles
Hoe maak je een fout Handler voor een VB…
Hoe Access gebruiken voor Visual Basic P…
Hoe om te controleren voor Null waarde i…
Hoe u Microsoft Visual C Debug Library F…
Tutorial voor Visual Basic Commands 
Graphics Tutorial voor Visual Basic 6 
Basic Help voor Microsoft Visual 
VBA Tutorial voor Word 
Tutorial voor het toevoegen van Visual B…
  Programmering Articles
·Hoe kan ik gebruiken iBox ? 
·Hoe maak je unieke eigenschappen Delete …
·Hoe toegang Public Class variabelen in J…
·Hoe Vergelijk stroomschema's & Pseudocod…
·Hoe kan ik een lijst met velden in een M…
·Hoe maak je een Beep verdienen met Java 
·Hoe te stoppen Foutbericht Null Null is …
·Hoe de Timer Controle in VB.NET programm…
·Hoe maak je automatisch sluiten een Mess…
Copyright © Computer Kennis https://www.nldit.com