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

Chaînes de caractères en C simplifiées : Déclaration, entrée, sortie et fonctions de bibliothèque

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

Une chaîne en C est une séquence contiguë de caractères terminée par le caractère nul (\0). Bien que le langage n'ait pas de type chaîne dédié, une chaîne est généralement représentée comme un tableau de valeurs char. Le compilateur ajoute automatiquement le terminateur nul lorsque vous initialisez un littéral de chaîne.

"Welcome to the world of programming!"

L'en-tête de la bibliothèque standard <string.h> offre une multitude de fonctions pour manipuler les chaînes efficacement.

Déclaration et initialisation des chaînes

Puisque le C traite une chaîne comme un tableau de caractères, vous devez spécifier la taille du tableau. La taille définit le nombre maximum de caractères (hors terminateur nul) qui peuvent être stockés.

char nom_variable_chaine[taille_tableau];

Déclarations typiques :

char first_name[15]; /* contient jusqu'à 14 caractères + \0 */
char last_name[15];

Quand vous fournissez un initialiseur, le compilateur compte les caractères et ajoute automatiquement le terminateur nul. La taille du tableau peut être omise si vous donnez un initialiseur.

char first_name[15] = "ANTHONY";
char first_name[] = "NATHAN"; /* taille déduite */
char string3[6] = {'h','e','l','l','o','\0'}; /* terminateur explicite */

Lecture des chaînes depuis l'utilisateur

Les fonctions d'entrée varient en sécurité et comportement :

Exemple utilisant fgets :

#include <stdio.h>
int main() {
    char name[50];
    printf("Enter your full name: ");
    fgets(name, sizeof(name), stdin);
    printf("Your name is %s", name);
    return 0;
}

Affichage des chaînes

La façon classique d'afficher une chaîne est printf("%s", name);. Deux alternatives pratiques sont :

Exemple avec puts :

#include <stdio.h>
int main() {
    char greeting[] = "Hello, world!";
    puts(greeting);
    return 0;
}

La bibliothèque de chaînes (<string.h>)

Fonctions couramment utilisées :

Fonction Description
strlenRetourne la longueur d'une chaîne (hors terminateur nul).
strcatAjoute une chaîne à une autre.
strcmpCompare deux chaînes lexicographiquement.
strcpyCopie une chaîne.
strncmpCompare jusqu'à n caractères.
strncpyCopie jusqu'à n caractères.
strchrTrouve la première occurrence d'un caractère.
strrchrTrouve la dernière occurrence d'un caractère.
strstrTrouve une sous-chaîne.
strncatConcatène jusqu'à n caractères.
strlwrConvertit en minuscules (non standard).
struprConvertit en majuscules (non standard).
strrevInverse une chaîne (non standard).

Programme illustratif :

#include <stdio.h>
#include <string.h>
int main() {
    char str1[20] = "Hello";
    char str2[20] = " World!";
    char result[40];
    /* Comparaison */
    if (strcmp(str1, str2) == 0)
        puts("Strings are equal");
    else
        puts("Strings are not equal");
    /* Concaténation */
    strcat(str1, str2); // str1 contient maintenant "Hello World!"
    printf("Concatenated: %s\n", str1);
    /* Longueur */
    printf("Length of str1: %zu\n", strlen(str1));
    /* Copie */
    strcpy(result, str1);
    printf("Copied string: %s\n", result);
    return 0;
}

Conversion d'une chaîne en nombre

Conversions standard :

Exemple avec atoi :

#include <stdio.h>
#include <stdlib.h>
int main() {
    char number_str[20];
    printf("Enter a number: ");
    fgets(number_str, sizeof(number_str), stdin);
    int num = atoi(number_str);
    printf("You entered %d\n", num);
    return 0;
}

Points clés à 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. Créer des listes de chaînes en VHDL : Bonnes pratiques et exemple
  4. Les tableaux en C++ : Déclaration, initialisation et techniques avec pointeurs
  5. Maîtriser les fonctions de chaînes C++ : strcpy, strcat, strlen, strcmp – Exemples pratiques
  6. Utilisation de realloc() en C : Syntaxe, bonnes pratiques et exemple
  7. Maîtriser la fonction free() en C : Guide pratique et exemple
  8. Méthode Java String length() : Comment obtenir la taille d'une chaîne (Exemple)
  9. Maîtriser les opérations sur chaînes Python : Replace, Join, Split, Reverse et Conversion de casse