La classe String en C ++

Noter cet article




c ++ classe string, Programmation pour les débutants

Utilisez les informations de texte tout en travaillant avec des bases de données, fichiers, pour la réception et l'envoi de messages, Il fait partie intégrante de chaque programmeur. Les chaînes sont utilisées, à des fins internes (tests et le débogage du code), et de résoudre des problèmes communs, les données au client, Votre GUI. Pour cette raison, vous devez porter une attention particulière à, comment construire une chaîne en C ++, comment travailler avec leur fonctionnement de base et les méthodes de traitement des objets tels que chaîne plus rapide, ou de façon plus appropriée dans une situation donnée,.

Cordes en C ++ peuvent être tableaux de caractères carboniser – Ce type intégré, qui a été utilisé dans C. Soit les instances de la classe chaîne, qui est inclus dans la bibliothèque standard C ++. Il convient de noter, que lorsque vous créez un objet de ce type, nous obtenons presque un tableau changeant dynamiquement, à savoir. la, qu'il n'y a pas besoin de définir la taille initiale, car ils peuvent changer le cours de travail avec l'essence.

Dans le premier cas, la ligne est mise en mémoire, un tableau. Un type de pointeur carboniser On y accède. Cette approche se heurte à des erreurs et est assez complexe, Il œuvre aussi bas. Objets de classe chaîne faciliter le travail, à travers eux, vous pouvez obtenir l'accès aux opérations de chaîne standards. Ils appartiennent à un espace de noms stl (Standard Template Library). Pour plus d'utilisation de la bibliothèque standard C, vous devez connecter le fichier d'en-tête:

L'exemple le plus simple d'utiliser une variable de type chaîne va supprimer à l'écran. Mais compliquer la tâche et essayer, pour un début, considéré comme une valeur de chaîne, et puis le faire fonctionner.

méthode getline() Il permet aux données de lecture de flux gin, et les brûler dans la variable, ce qui est indiqué après la virgule.

Dans le cas d', lorsque vous avez besoin d'initialiser une variable lors de sa création, vous devez utiliser la syntaxe suivante:

Considérez les méthodes de base de la classe chaîne, qui vous permettent de modifier la ligne et d'obtenir des informations sur leurs options.

Deux méthodes peuvent être utilisées pour obtenir la longueur de chaîne. une Taille() autre longueur(). Les deux méthodes renvoient un nombre numérique de caractères. Mais il convient de noter, que la numérotation des éléments dans la chaîne de tableau commence toujours avec 0.

Liste de vérification:

Ensuite, nous voyons, Les deux méthodes retournent les mêmes valeurs.

travailler avec des chaînes en C ++, класс Chaîne C ++, méthodes longueur() taille и()

Pour vérifier la présence d'une donnée variable de chaîne, il utilise la fonction vide(), qui renvoie une valeur booléenne ( 0 si faux ou 1 si vrai). Cette opération est utile, lorsque vous avez besoin pour vous protéger contre la perte de données.
Pour réinitialiser la chaîne méthode variable est utilisée clair(). Par conséquent, après l'exécution d' myString.size() retour 0, et myString.empty() – sens vrai, à savoir. 1.
Exemple de code pour les fonctions de vérification:

résultats de la performance:
travailler avec des chaînes en C ++, класс Chaîne C ++

Considérons maintenant les opérations moins triviales, qui va gagner du temps et de l'effort de programmeurs, ainsi que d'éviter l'utilisation de boucles massives pour itérer sur chacun des tableau de chaînes.

fonction repousser (carboniser) Il vous permet d'ajouter à la fin de la ligne actuelle tapez tout caractère carboniser. ainsi, on n'a pas besoin d'une restauration de la nouvelle valeur de chaîne, l'ancienne variable sera simplement modifiée.

classe chaîne Il vous permet de manipuler deux chaînes en même temps, l'écriture des valeurs de l'un à l'autre. A cet effet, le sujet doit appeler la méthode insérer (int startInResultString, chaîne à partir de, int startInSourceString, int quantité). où startInResultString – cellule dans la position de départ de la ligne, dans lequel pour enregistrer les nouvelles données, à savoir. les nouvelles valeurs seront placées à cet index. variables en minuscules de est une ligne à partir de laquelle les données sont prises, Tous les autres paramètres sont spécifiques à ce. La valeur initiale de l'indice à partir duquel commencer la copie des données indiqué startInSourceString. total des symboles, qui sera copiée à partir de la chaîne de indiqué montant, le comptage est effectué à commencer par l'index de départ.
Exemple de code permettra de mieux comprendre la fonction des paramètres d'entrée.

les résultats de l'exécution de code:

travailler avec des chaînes en C ++, класс Chaîne C ++

Il n'a pas été démantelé tout, mais le plus les fonctions fréquemment utilisées pour travailler avec des objets String. avantage de classe chaîne Elle est la facilité d'utilisation et supporte un grand nombre de méthodes. cependant, objets chaîne sont traités lentement. Dans certains cas, il peut arriver, la perte de données ou de briser l'intégrité de la ligne, qui peut alors ne pas être un moyen de faire pour vérifier visuellement.

expérience – Créer un objet de classe chaîne et appeler ses méthodes en ligne. Essayez de vous comprendre, ce qu'ils font et comment ils fonctionnent. Dans de nombreux manuels scolaires offerts écrire indépendamment de votre propre (certainement apprivoisé) classe pour travailler avec des cordes. Il est facile et vous comprendrez parfaitement en même temps, Comment est la vraie classe chaîne. Nous allons préparer pour vous certaines tâches, pour obtenir ce matériel.

Assurez-vous de regarder la vidéo sur la classe (auteur Dennis Markov):

Bulletin de nouvelles leçons sur la programmation:

7 réflexions sur "La classe String en C ++

  1. Bon article, Il peut être le meilleur dans l'ensemble de la série d'articles – sur la balance des détails et de la simplicité.

    Il suffit de ne pas comprendre, pourquoi partout dans le texte d'une classe appelée chaîne (avec un capital), même si, dans les exemples, il est toujours utilisé comme une chaîne (avec une petite lettre). Si vous écrivez la chaîne de code, puis obtenir immédiatement une erreur de syntaxe approximative.

  2. Une autre bonne chose à mentionner, même occasionnel (ou un sujet distinct au cours de, “utilisation string”?):

    1. celle de la chaîne est toujours possible “extrait” l'idée de carbonisation plus familier * (dans le style de C) методом c_str():
    s = chaîne de “xxx”;
    char * c = s.c_str();

    2. a + = opérations surdéterminé et + à chaîne, comme la concaténation de chaîne:
    string h = “Bonjour “, w = “monde”;
    cout << h + w << endl;
    h + = w;
    cout << h << endl;

    3. d'un ensemble grand groupe de méthodes, présentation des lignes de l'image de valeurs numériques:
    chaîne d( "123" ), F( "1.23" );
    longue i = d.stoul();
    float z = d.stof();

  3. Et enfin … remarque:
    > Les deux méthodes renvoient un nombre numérique de caractères.

    longueur() taille и() ne pas retourner le nombre de caractères, et le nombre d'octets dans le contenu de la chaîne. Pour ASCII (Anglais) caractères – elle équivaut à la même chose. Mais pour le russe (et d'autres langues) – aucun, et elle dépend du codage utilisé.

    , quel, dans lequel l'éditeur et ce codage travaillent avec le code de programme.

    Les valeurs exactes ne sont pas importantes… Mais il est important de connaître, cette longueur() taille и() pour les lignes russes ne fournissent pas le nombre estimé de caractères, qui entraîne des erreurs peut donner être trouvé difficile!

  4. #comprendre
    #comprendre
    using namespace std;

    int main()
    {
    string myString; // créer une variable, dans lequel de mettre la chaîne

    cout << "What is your name? ";
    getline(gin, maChaine); // On lit la ligne d'entrée

    cout << "Hey, " << maChaine << "! \n"; // Nous tirons la valeur de la variable sur l'écran
    }
    Je getline en quelque sorte(gin, maChaine); pas robit

    1. désolé, ce n'est pas

Laisser un commentaire

Placez le code dans les balises: <pre class="lang:c ++ décodage:true ">VOTRE CODE</pré>