| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
    C pour STRCMP Fonction
    C + + contient déjà une fonction de comparaison de chaînes - " strcmp ()" - qui effectue la tâche de comparer deux chaînes pour l'égalité. La fonction strcmp () renvoie des valeurs différentes en fonction de la relation entre les cordes une à l'autre . La mise en œuvre d'une fonction strcmp ( ) diffère entre les architectures d'ordinateur ( ou reste sous licence provenant de différents fournisseurs ), mais un programmeur peut ré-écrire la fonctionnalité de base du code pour voir comment cela fonctionne . Pour comprendre la fonction , cependant, le programmeur doit comprendre comment les chaînes, les tableaux et les pointeurs fonctionnent en C et C + + . Cordes, tableaux et les pointeurs

    En C, les chaînes sont des collections (ou tableaux) de caractères. Par exemple , AB

    char string [10];

    Comme un tableau de 10 caractères , "string" représente une phrase en C. Cependant , les tableaux sont en fait des pointeurs ou des variables référence à l'adresse de mémoire . Le tableau " string" représente en fait un pointeur vers le premier élément dans le bloc de mémoire , et le programmeur peut référencer les autres éléments du tableau grâce à ce pointeur.
    Définition " strcmp ( ) " < br > Photos

    La définition de base d'une fonction strcmp ressemblera à ceci:

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

    Par définition, une fonction de comparaison de chaînes va utiliser deux tableaux de caractères ( str1 , str2 ) . Étant donné que les tableaux représentent des pointeurs , la définition va prendre deux pointeurs de caractère . Avec ces pointeurs , le programmeur peut vérifier chaque élément dans un tableau contre un autre tableau. Mais d'abord, le programmeur doit déclarer deux variables caractères , qui tiendra les valeurs trouvées dans les deux chaînes:

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

    caractères a, b; }


    Traverser la Strings

    afin de comparer les cordes , la fonction doit comparer chaque caractère de chaque chaîne à une autre . Pour ce faire , le programmeur utilise les deux pointeurs ( str1 , str2 ) de se déplacer en bas de chaque tableau:

    while ( * str1 = '\\ 0' && * str1 == str2 * ! ) {
    < p> str1 + + ; //déplace le pointeur de la str1 de chaîne à l'autre personnage

    str2 + +; //fait la même chose , str2

    }

    La boucle while ne l' recherche : tout d'abord , si str1 succès un caractère de terminaison ( "\\ 0" qui est ajouté à la fin de chaînes par le langage C) , la boucle se ferme , parce que cette chaîne est fait. Deuxièmement, si la valeur de str1 (* str1 ) n'est pas égale à la valeur de str2 (* str2 ) , alors la boucle s'arrête, parce que les chaînes ne sont pas égales .
    Retour le
    Résultat

    sTRCMP retourne l'un des trois résultats : 0 (si les chaînes sont égales ), 1 ( si le premier est supérieur au second ) et -1 ( si le premier est inférieur au second ) :
    < p> char a = * str1 ;

    char b = * str2 ;

    if ( a == b ) {

    return 0; }

    d'autre

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

    Depuis les boucles s'arrêtent quand il ya inégalité ou lorsque les deux sont terminées, le résultat finira comme deux personnages identiques ( le '\\ 0' symbole ) ou les caractères inégaux trouvés .
    code Complete

    le code complet , alors , ressemble à ceci ( et les implémentations variera en fonction de la technique ou des conditions du système ) :

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

    char a , b;

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

    str1 + + ; //déplace le pointeur de la chaîne str1 à l'autre personnage

    str2 + +; //ne l' même , str2

    }

    char a = * str1 ;

    char b = * str2 ;

    if ( a == b )

    {return 0; }

    autre

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


    < p > entrer deux chaînes , telles que Photos

    caractères chaine1 [40] = "Ceci est une chaîne " ;

    caractères chaîne_2 [40] = "Ceci est une chaîne " ;

    int résultat = strcmp ( chaîne1, chaîne2 ) ;

    reviendra 0;

    Previous :

    next :
      articles connexes
    ·Comment mettre à jour la grille des données 
    ·Comment déclarer une chaîne en C + + 
    ·Comment placer entiers dans l'ordre croissant en utilis…
    ·Comment utiliser OpenGL dans Visual C 
    ·Comment obtenir des codes pour Dev- C + + 4.9.9.2 
    ·Comment savoir si une ligne ou une colonne en DataGridV…
    ·Comment faire une racine carrée en C + + 
    ·Comment trier Deux colonnes indépendantes dans le Data…
    ·Computer Engineering Design Projects 
    ·Comment faire pour convertir Char * à Int & C + + 
      articles en vedette
    ·Sun Java Tutorial SQL 
    ·T -SQL fonctions propres 
    ·Comment compter le nombre de lettres d'une chaîne en V…
    ·Comment ajouter plusieurs lignes à un champ de type ch…
    ·Comment faire un jeu de porc dans Pseudocode 
    ·Comment modifier les propriétés dans un modèle CSS 
    ·Comment comparer les temps en Visual Basic 
    ·Comment télécharger les fichiers DOC en PHP 
    ·Les trois principes fondamentaux de la programmation or…
    ·Comment réinstaller Table MySQL 
    Copyright © Connaissances Informatiques http://fr.wingwit.com