Normalement, un programmeur peut récupérer la longueur d'une phrase (ou une chaîne ) dans tout + + programme par appels méthode C " de longueur ()" de la chaîne. Toutefois , les chaînes comme implémenté en C + + ne sont pas toujours disponibles , et les programmeurs n'ont pas eu accès à des méthodes prêtes à l'emploi telles que la longueur (). Compter la longueur d'une chaîne sans utiliser cette méthode implique construit en chaîne de la compréhension, des tableaux de caractères de style C , et comment itérer sur eux. C + + et C Strings Strings En C + + , le type intégré "string" de données représente des phrases , des phrases ou des mots. Cependant, le type de données de chaîne représente réellement ce que les programmeurs appellent une chaîne "c- style". Dans la langue originale C , les programmeurs stockés phrases que les collections (ou tableaux) de caractères. Ainsi, alors que dans C + + , une déclaration de variable phrase est: string str = "Bonjour" ; en C , la même déclaration ressemble : char str [50 ] = "Bonjour" ; Où " str" représente un tableau de 50 caractères. En outre, puisque les chaînes de style C sont tout simplement des tableaux, ils finissent tous avec un caractère de fin Null ( "\\ 0" ) qui signifie la fin de la chaîne . Le " c_str () " Method la chose intéressante à propos des chaînes en C + + , c'est qu'ils sont une classe et une classe contient des méthodes pour effectuer des travaux sur la corde . Une de ces méthodes ( " c_str () ") renvoie une chaîne de type C qui représente la chaîne C + + . Cela signifie que la valeur de retour finira comme un tableau de caractères contenant les caractères de la chaîne , y compris le caractère de fin null . Copie du C cordes pour faire quelque chose avec la chaîne de style C extraite de c_str () , le programmeur doit le mettre dans un tableau de caractères. Cela nécessite la méthode « strcpy », qui permet de copier un tableau de caractères à l'autre: # include # include # include < ; iostream > Photos using namespace std ; string str = " une chaîne" ; caractères str2 [50] ; strcpy ( str2 , str . c_str ()) maintenant, la représentation de chaîne C- style de " str" va copier dans le tableau de caractères " str2 " (y compris zéro caractères). Compter le caractères maintenant que le programmeur a une copie de la matrice de la chaîne, y compris le caractère nul qui informera le programmeur lorsque la chaîne se termine , cela devient une question de personnages simplement comptage jusqu'à ce que le programme touche le nul caractère : int i = 0; while (! str2 [i] = '\\ 0' ) { i + + } cout << i + 1; la boucle "while" vérifie chaque personnage dès le début ( la position du caractère 0e ) jusqu'à atteindre le caractère nul . Ensuite, le programme imprime i +1 ( car l'index commence à 0 , et la position de caractère nul n'est pas compté ) qui se traduit par une valeur de rendement de 8 .
|