Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Fonction strlen

La fonction strerror La fonction strncat


Entête à inclure

#include <string.h>  // <cstring> en C++

Fonction strlen

size_t strlen( const char * theString );

Cette fonction permet de calculer la longueur, exprimée en nombre de caractères, de la chaîne de caractères. En langage C, les chaînes de caractères sont dites AZT : A Zéro Terminal. Cela signifie qu'une chaîne de caractères se termine forcément par un code ASCII nul (pouvant aussi être représenté par '\0'). Attention, la fonction strlen ne compte pas ce caractère de fin : seuls les caractères "utiles" de la chaîne sont considérés.

Paramètres

Valeur de retour

La fonction renvoie le nombre de caractères trouvés. Le type size_t est en fait un alias (typedef) sur unsigned int.

Exemple de code

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/* Just for information : 
size_t mystrlen( const char * theString ) {
    size_t counter = 0;
    while( *destination++ ) ++counter;
    return counter;
}
*/

int main() {

    char * firstName = "John";
    char * lastName = "Doe";
    char * fullName;
    size_t fullSize;

    /* The last +1 is for the last nul ASCII code for the string */
    fullSize = strlen( firstName ) + 1 +  strlen( lastName ) + 1;
       
    /* Memory allocation and copy */
    fullName = (char *) malloc( fullSize );
    strcpy( fullName, firstName );
    strcat( fullName, " " );
    strcat( fullName, lastName );
        
    printf( "Full name is: %s\n", fullName );
        
    free( fullName );
    
    return 0;
}

Sujets connexes

malloc
strcat
strcmp
strcpy
La méthode String.length en Java
La fonction len en Python


La fonction strerror La fonction strncat