Fonction strlen

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

  • theString : la chaîne de caractères pour laquelle il faut calculer sa longueur.

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