Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Maîtriser les fonctions de chaînes C++ : strcpy, strcat, strlen, strcmp – Exemples pratiques

Qu'est-ce qu'une chaîne ?

Une chaîne est simplement une séquence de caractères. En C++ moderne, on utilise généralement des objets de la classe std::string, qui gère automatiquement l'allocation mémoire, le redimensionnement et une multitude de fonctions membres utiles. Cela élimine le besoin de gestion manuelle des tampons et réduit les risques de débordement de tampon.

À des fins pédagogiques, C++ prend encore en charge les tableaux de caractères de style C terminés par un caractère nul. Les deux approches ont leur place : utilisez std::string pour la programmation quotidienne, et réservez les chaînes de style C aux API héritées ou au code bas niveau critique en performance.

Déclarer des chaînes

Chaîne de caractères de style C

Exemple :

char name[5] = {'J', 'o', 'h', 'n', '\0'};

Ou plus concisément :

char name[] = "John"; // le compilateur insère le '\0' terminal

std::string

Pour utiliser std::string, incluez l'en-tête et déclarez une variable :

#include <string>
std::string name = "John";

Accéder aux valeurs des chaînes

Voici un programme console simple qui affiche une chaîne de style C et une valeur std::string.

#include <iostream>
#include <string>
using namespace std;
int main() {
    char cName[5] = "John"; // chaîne style C
    string cppName = "Guru99"; // std::string
    cout << "Chaîne style C : " << cName << endl;
    cout << "std::string : " << cppName << endl;
    return 0;
}

Sortie :

Maîtriser les fonctions de chaînes C++ : strcpy, strcat, strlen, strcmp – Exemples pratiques

Fonctions clés des chaînes C

Ces fonctions sont définies dans l'en-tête cstring. Elles opèrent sur les chaînes de style C (tableaux de char terminés par nul).

strcpy()

Copie la chaîne source dans le tampon de destination. La destination doit être assez grande pour contenir la source.

strcpy(dest, src); // dest doit avoir assez d'espace

strcat()

Ajoute la chaîne source à la fin de la chaîne de destination. Encore une fois, le tampon de destination doit être assez grand pour accueillir le résultat.

strcat(dest, src); // dest doit avoir assez d'espace

strlen()

Retourne le nombre de caractères dans la chaîne, en excluant l'octet nul terminal.

size_t len = strlen(str);

strcmp()

Compare deux chaînes lexicographiquement. Retourne 0 si elles sont égales, une valeur négative si la première chaîne est plus petite, et une valeur positive si la première chaîne est plus grande.

int cmp = strcmp(str1, str2);

Exemple pratique

#include <iostream>
#include <cstring>
using namespace std;
int main() {
    char name1[10] = "Guru99";
    char name2[10] = "John";
    char name3[20]; // Assez grand pour le résultat concaténé
    // Copie
    strcpy(name3, name1);
    cout << "strcpy(name3, name1): " << name3 << endl;
    // Concaténation
    strcat(name1, name2);
    cout << "strcat(name1, name2): " << name1 << endl;
    // Longueur
    size_t len = strlen(name1);
    cout << "strlen(name1): " << len << endl;
    // Comparaison
    int cmp = strcmp(name1, name3);
    cout << "strcmp(name1, name3): " << cmp << endl;
    return 0;
}

Sortie :

Maîtriser les fonctions de chaînes C++ : strcpy, strcat, strlen, strcmp – Exemples pratiques

À retenir

Langue C

  1. Maîtriser les chaînes de caractères en Java : Création, méthodes et bonnes pratiques
  2. Maîtriser les représentations en chaînes dans les enums Java
  3. Variables et types de données en C++ : Guide expert sur int, double, char, string, bool
  4. Les tableaux en C++ : Déclaration, initialisation et techniques avec pointeurs
  5. Boucle do-while en C++ : Syntaxe, exemples pratiques et boucles imbriquées
  6. Maîtriser les pointeurs en C++ : Concepts, exemples et applications pratiques
  7. Maîtriser le type char en C++ : Déclaration, ASCII et techniques de conversion
  8. Surcharge d'opérateurs en C++ : Guide pratique avec exemples de code
  9. Les Fonctions en C++ Expliquées avec des Exemples de Code Pratiques