Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
  Derniers articles
  • Types d'objets PowerShell 
  • Affichage d'un Picture Box PGM sur C…
  • Comment modifier un document Word en…
  • Définition des formulaires Visual B…
  • Comment compiler en Borland C + + 
  • Comment utiliser C sur un système U…
  • Comment faire un tableau en C qui dé…
  • Comment animer dans XNA 
  • Comment utiliser des constructeurs d…
  • Comment programmer cacao sur un iPho…
  •   C /C + + Programming
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    C /C + + Programming

    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 );} }


    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;

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Comment écrire une feuille XLS en CSharp 
  • Visual C Projets 
  • Comment faire pour installer Microsoft Visual C + + 
  • Comment compiler un C + + dans Dev- C 
  • Comment faire pour modifier le curseur en C + + 
  • Comment faire pour convertir binaire à un nombre entier de programmation C 
  • Comment faire un bouton sonore dans Xcode 
  • Comment utiliser SQLite3 sur une App iPhone 
  • Comment insérer une nouvelle ligne dans TextBox 
  • Fonction booléenne de C 
  • Connaissances Informatiques © http://www.ordinateur.cc