Les fonctions couramment utilisées en C / C ++ pour obtenir la longueur d'une chaîne ou la longueur d'un tableau de chaînes sont
sizeof ()
length ()
strlen ()
size (),
dont strlen (str) et str.length () et str.size () peuvent être utilisées Utilisé pour trouver la longueur de la chaîne.
str.length () et str.size () sont des fonctions membres utilisées pour rechercher des objets chaîne.
strlen (str) est utilisé pour trouver la longueur d'un tableau de chaînes. Le paramètre est char *.
Discrimination de la différence entre strlen () et sizeof ()
La fonction strlen (char *)
trouve la longueur réelle de la chaîne, elle peut être utilisée pour obtenir la longueur du tableau de caractères dynamique réel, du début au premier "\ 0" rencontré, si seule la définition ne donne pas de valeur initiale, ce résultat C'est incertain, il cherchera à partir de la première adresse du tableau jusqu'à ce qu'il rencontre "\ 0" pour arrêter la recherche.
sizeof ()
demande le nombre d'octets dans l'espace total, statique, il est lié à la taille du tableau de caractères de l'état initial, la taille est égale à la taille du tableau de caractères initial ou égale à la taille du tableau de caractères initial + 1
en C ++, si défini S'il s'agit d'un tableau de chaînes, si vous voulez obtenir la longueur du tableau, vous ne pouvez utiliser que sizeof (nom du tableau) au lieu de strlen (str).
char str[20]="0123456789";
int a=strlen(str); a=10;strlen 计算字符串的长度,以\0'为字符串结束标记。
int b=sizeof(str); b=20;sizeof 计算的则是分配的数组str[20] 所占的内存空间的大小,不受里面存储的内容影响
char *str1="absde";
char str2[]="absde";
char str3[8]={
'a',};
char ss[] = "0123456789";
输出:
sizeof(str1)=4;
sizeof(str2)=6;
sizeof(str3)=8;
sizeof(ss)=11