#include <string.h> // <cstring> en C++
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.
La fonction renvoie le nombre de caractères trouvés. Le type size_t
est en fait un alias
(typedef
) sur unsigned int
.
#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; }
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 :