| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> C /C + + Programming >> Content
    C per Strcmp Funzione
    C + + contiene già una funzione di confronto di stringa - " strcmp ( ) " - che svolge il compito di confrontare due stringhe per l'uguaglianza. Il strcmp ( ) restituisce valori diversi a seconda del rapporto delle corde tra loro . L' implementazione di una funzione strcmp ( ) differisce tra architetture di computer ( o rimane in licenza da fornitori diversi ) , ma un programmatore può implementare nuovamente la funzionalità di base del codice per vedere come funziona. Per capire la funzione , però , il programmatore deve capire come stringhe, vettori e puntatori lavorano in C e C + + . Stringhe, vettori e puntatori

    In C , le stringhe sono collezioni ( o array ) di caratteri. Per esempio , Stati stringa char

    [ 10 ] ;

    un array di 10 caratteri , " stringa " rappresenta una frase in C. Tuttavia , le matrici sono in realtà puntatori , o variabili relative all'indirizzo di memoria . L'array " stringa" rappresenta in realtà un puntatore al primo elemento nel blocco di memoria , e il programmatore può fare riferimento agli altri elementi della serie attraverso questo puntatore .
    Definire " strcmp ( ) " < br >

    La definizione di base di una funzione strcmp sarà simile a questa :

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

    per definizione , un funzione di confronto di stringa utilizzerà due array di caratteri ( str1 , str2 ) . Dal momento che le matrici rappresentano puntatori , la definizione avrà due puntatori di caratteri. Con questi puntatori , il programmatore può controllare ogni elemento in un array contro un altro array. Prima, però, il programmatore deve dichiarare due variabili carattere , che conterrà i valori riscontrati nelle due stringhe :

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

    char a, b;

    }
    Attraversa la Strings

    Per confrontare le stringhe , la funzione deve confrontare ogni carattere in ogni stringa tra loro . Per fare questo, il programmatore utilizza i due puntatori ( str1 , str2 ) per spostare verso il basso ogni array :

    while ( * str1 = '\\ 0' && * str1 == str2 * ! ) {
    < p > str1 + + ; //sposta il puntatore del str1 stringa al carattere

    str2 + + ; //fa lo stesso , str2

    }

    il ciclo while fa il ricerca : in primo luogo , se str1 colpi di un carattere di terminazione ( " \\ 0 ", che viene aggiunto alla fine di stringhe dal linguaggio C ) , allora il ciclo viene chiuso , perché quella stringa è fatto . In secondo luogo, se il valore di str1 ( * str1 ) non è uguale al valore di str2 ( * str2 ) , poi il ciclo si interrompe , perché le stringhe sono uguali .
    Restituzione del risultato
    < br

    Strcmp > restituisce uno dei tre risultati : 0 ( se le stringhe sono uguali ) , 1 (se la prima è maggiore della seconda ) e -1 ( se la prima è minore della seconda ) :
    < p > char a = * str1 ;

    char b = * str2 ;

    if ( a == b ) per

    { return 0; }

    altro

    {return ( ( a

    Poiché i cicli si fermano quando c'è disuguaglianza o quando entrambi sono terminati , il risultato finirà come due caratteri uguali ( il '\\ 0' simbolo ) oi caratteri diseguali trovati.
    completo del codice

    il codice completo , quindi , è simile a questo ( e le implementazioni varierà , a seconda tecnica o di condizioni di sistema ) :

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

    char a , b ;

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

    str1 + + ; //sposta il puntatore della stringa str1 al successivo carattere

    str2 + + ; //fa la stesso , str2

    }

    char a = * str1 ;

    char b = * str2 ;

    if ( a == b ) per

    { return 0; }

    altro

    {return ( ( a


    < p > inserendo due stringhe , come ad esempio

    char stringa1 [ 40 ] = " Questa è una stringa " ;

    char stringa2 [ 40 ] = " Questa è una stringa " ;

    int risultato = strcmp ( stringa1, stringa2 ) ;

    tornerà 0 ;

    Previous :

    next :
      Articoli Correlati
    ·Come fare una stringa in una matrice di caratteri in C …
    ·Quali sono le funzioni di Turbo C 
    ·Come fare un programma utilizzando Microsoft Visual C 
    ·Come compilare C + + File di intestazione 
    ·Come faccio a scrivere un programma in linguaggio C del…
    ·Come ottenere una serie di oggetti per puntare ad una v…
    ·Come stampare un triangolo in C 
    ·Boost Tutorial Multithreading 
    ·Come aggiungere o rimuovere Array Pointer 
    ·Come utilizzare il C + + per ottenere USB Pen numeri di…
      Articoli in evidenza
    ·Come cambiare la password di WordPress Admin In MySQL 
    ·Come utilizzare Visual Studio per C + + 
    ·Tutorial di Visual Basic per principianti 
    ·Come convertire da VB6 
    ·Come installare Java JDK su Ubuntu 
    ·Come importare Excel in MySQL PHP 
    ·Come impostare una descrizione comandi personalizzata i…
    ·Come fare Collasso liste Senza Java 
    ·Dreamweaver PHP aggiornamento Modulo Tutorial 
    ·Come moltiplicare una matrice con una variabile in MATL…
    Copyright © Conoscenza Informatica http://it.wingwit.com