Fonctions de cordes populaires en do [avec exemples]

Publié: 2020-10-21

Les chaînes en langage C sont un tableau de caractères terminé par des caractères nuls ('\0'). Le caractère nul à la fin d'une chaîne indique sa fin et les chaînes sont toujours entourées de guillemets doubles. En langage C, les caractères sont entourés de guillemets simples. Quelques exemples des deux montrés ci-dessous;

Exemple ou représentation de caractères C et de chaînes

  • chaîne de caractères[10] = { 's','d','f','d','t','j','a','\0' } ;
  • char string[10]=” plus frais” ;
  • char string[]=” plus frais” ;

Il existe une différence mineure entre les déclarations des chaînes dans les deux déclarations ci-dessus. Comme lorsque nous déclarons char comme string[10], 10 octets d'espace mémoire sont alloués pour contenir les 10 valeurs de string, tandis que lorsque nous le déclarons comme string[], la mémoire est allouée au moment de l'exécution du programme.

Table des matières

Déclaration de chaîne et initialisation

En programmation C, les chaînes peuvent être déclarées de deux manières, comme indiqué ci-dessus. En programmation C, une chaîne est une séquence de caractères qui se termine par un caractère nul ou '\0'. Un exemple de la même chose est donné ci-dessous:

char temp[]="chaîne temporaire" ;

Lorsqu'une chaîne de caractères est déclarée de type char entre guillemets doubles, alors \0 est automatiquement ajouté à la fin de la chaîne. Par exemple:

char temp[]="chaîne temporaire" ;

t e m p s t r je n g \0

Déclaration de chaîne

Une chaîne en langage C est déclarée de la manière suivante :

temp char[5] ;

s[0] s[1] s[2] s[3] s[4]

De cette façon, nous pouvons initialiser une chaîne de longueur 5.

Initialisation de la chaîne

L'initialisation de la chaîne peut être effectuée de plusieurs manières et certaines d'entre elles sont données ci-dessous :

char t[]="chaîne temporaire" ;

char t[10]="chaîne temporaire" ;

char t[]={'t','e','m', 'd','\0'} ;

char t[5]={'t','e','m', 'd','\0'} ;

J e m p \0

t[0] t[1] t[2] t[3] t[4]

Dans le type de déclaration ci-dessus, nous ne pouvons stocker que les chaînes qui ne comportent que quatre caractères, tandis que si vous souhaitez stocker cinq caractères dans une telle chaîne ou un tel tableau, vous aurez peut-être besoin d'un tableau de caractères plus long.

Lire : Tableau de chaînes en Java : Tableau de chaînes Java avec exemples de codage

Affectation de valeurs aux chaînes

Les tableaux et les chaînes ne prennent pas en charge les opérateurs d'affectation. Une fois les chaînes déclarées, vous ne pouvez pas affecter les valeurs aux variables de type chaîne. Par exemple, en langage C, nous ne pouvons pas écrire et attribuer les valeurs de la manière suivante :

char t[100] ;

t=” valeur temp” ;

Gestion des chaînes en C

Nous allons maintenant enrôler certaines des fonctions de chaîne populaires en C qui facilitent la gestion des chaînes. Plusieurs opérations sur la chaîne comme la lecture de la chaîne, la copie ou l'inversion de la chaîne et de nombreuses autres opérations peuvent être facilement effectuées sur les chaînes à l'aide de ces fonctions.

Les opérateurs de chaîne ou les fonctions de chaîne peuvent être utilisés directement pour manipuler les chaînes. Ici, dans cet article, nous expliquerons les fonctions de la bibliothèque telles que gets(), puts(), strlen(), strcopy() et bien d'autres pour expliquer la gestion des chaînes en C.

Parfois, les programmeurs doivent écrire les fonctions de chaîne pour les manipuler selon le problème requis. Cependant, la manipulation des chaînes peut être effectuée manuellement, mais cela peut rendre la programmation assez complexe et volumineuse.

Il existe une bibliothèque standard de fonctions de chaîne en C appelée « string.h ». Ce fichier d'en-tête avec l'extension ".h" a de nombreuses fonctions de gestion de chaînes qui ont une syntaxe différente. Nous allons en discuter quelques-uns dans la section ci-dessous de cet article :

Liste de certaines fonctions courantes de gestion des chaînes en C

Une fonction La description
strlen() Peut calculer la longueur de la chaîne
Strcpy() Peut copier le contenu d'une chaîne vers une autre
Strcat() Est utilisé pour concaténer ou joindre deux chaînes
Strcmp() Peut comparer deux chaînes
Strlwr() Peut convertir la chaîne en minuscules
Strupr() Est utilisé pour convertir les lettres de la chaîne en majuscules
Strrev() Est utilisé pour inverser la chaîne

Lorsque vous devez utiliser l'une des fonctions de gestion de chaînes dans votre programme, les fonctions ne sont pas limitées à ces nombreuses fonctions. Il existe également de nombreuses autres fonctions. Alors parlons-en :

1) met() et obtient()

Les deux fonctions populaires de fichier d'en-tête de chaîne get et puts sont utilisées pour prendre l'entrée de l'utilisateur et afficher la chaîne respectivement. Ces deux fonctions sont définies dans le fichier string.h. Voyons un exemple de ces fonctions :

#include main()

Int main()

{

temp char[20] ;

printf("Entrez votre nom");

obtient(temp);

printf("Mon nom est : ");

met(temp);

renvoie 0 ;

}

2) strcat()

Pour les cas où une chaîne doit être ajoutée à la fin d'une autre chaîne, cette fonction est utilisée. La fonction strcat peut ajouter une copie de la chaîne source à la fin de la chaîne de destination. L'utilisateur doit passer deux arguments décrits ci-dessous :

i) src

ii) destination

Ici, à la place de « src », la chaîne est spécifiée, tandis qu'à la place de « dest », la chaîne de destination dans laquelle nous devons ajouter la chaîne source est spécifiée.

Exemple

#include<string.h>

int main()

{

char src[20]= "avant" ;

char dest[20]= "après" ;

strcat(dest, source);

met(dest);

renvoie 0 ;

}

La sortie sera : après avant

3) Fonction strlen()

Une autre fonction du fichier d'en-tête de chaîne qui peut être directement utilisée pour les chaînes est strlen(). Vous pouvez utiliser la fonction strlen(), la fonction de chaîne en C , lorsque vous devez connaître la longueur d'une chaîne. Cependant, on peut aussi écrire un programme manuellement pour connaître la longueur de n'importe quelle chaîne, mais l'utilisation de cette fonction directe peut vous faire gagner du temps et l'exemple est donné ci-dessous :

#include<stdio.h>

int main()

{

entier longueur ;

char s[20] = "Nous sommes ici" ;

longueur=strlen(s);

printf("\La longueur de la chaîne est = %d \n", longueur);

renvoie 0 ;

}

La longueur de la chaîne est = 11

4) Fonction strcpy()

Si vous devez copier le contenu d'une chaîne dans une autre chaîne, cette fonction est utilisée. La syntaxe de la fonction est strcpy(dest,source). La fonction peut copier le contenu d'une chaîne dans une autre. Un exemple de la fonction est donné ci-dessous :

#include<string.h>

int main()

{

char src[20]= « Destination » ;

car dest[20]= "" ;

printf("\n la chaîne source est = %s", src);

printf("\n la chaîne de destination est = %s", dest);

strcpy(dest, source);

printf ("\nchaîne cible après strcpy() = %s", dest);

renvoie 0 ;

}

Sortir

La chaîne source est = Destination

La chaîne cible est =

Chaîne cible après strcpy() = Destination

Apprendre : StringBuffer contre StringBuilder : Différence entre StringBuffer et StringBuilder

5) Fonction strcmp()

Pour comparer deux chaînes pour savoir si elles sont identiques ou non, nous pouvons utiliser la fonction strcmp(). La fonction renvoie une valeur définie qui peut être 0, >0 ou <0. Dans cette fonction, les deux valeurs transmises sont traitées comme étant sensibles à la casse, ce qui signifie que « A » et « a » sont traités comme des lettres différentes. Les valeurs renvoyées par la fonction sont utilisées comme :

i) 0 est renvoyé lorsque deux chaînes sont identiques

ii) Si str1<str2 alors une valeur négative est renvoyée

iii) Si str1>str2 alors une valeur positive est renvoyée

Exemple:

#include<stdio.h>

#include<chaîne.h>

int main()

{

char str1[]=”copier” ;

char str2[]=”Trophée” ;

int I,j,k ;

i=strcmp(str1, "copier");

j=strcmp(str1, str2);

k-strcmp(str1, "f");

printf("\n %d %d %d",I,j,k);

renvoie 0 ;

}

Sortie : 0 -1 1

6) Fonctions strlwr() / strupr()

Parfois, vous devrez peut-être convertir les lettres minuscules de n'importe quelle chaîne en majuscules ou vice-versa. A cet effet, il existe deux fonctions de chaîne directes en C , elles peuvent être utilisées pour effectuer les conversions de majuscules en minuscules ou vice-versa. Ici, nous avons expliqué un exemple de la même chose :

#include<stdio.h>

#include<string.h>

int main()

{

char str[]=”CONVERT moi en minuscules” ;

printf("%s\n", strlwr(str));

renvoie 0 ;

}

Sortie : convertissez-moi en minuscules

De même, si nous utilisons la fonction strupr à la place de strlwr, tout le contenu sera converti en majuscules. Nous pouvons utiliser la fonction strupr, définie dans le fichier d'en-tête de chaîne. Grâce à cette fonction, toutes les lettres de la chaîne sont converties, cela aussi sans aucune longue procédure manuelle.

7) Fonction strrev()

Si vous souhaitez inverser une chaîne sans écrire manuellement un programme volumineux ou étendu, vous pouvez utiliser cette fonction. La fonction strrev() est utilisée pour inverser le contenu de la chaîne. La fonction Strrev est utilisée pour vérifier la nature de la chaîne, si la chaîne donnée est un palindrome ou non. Plusieurs autres utilisations et applications sont également présentes de la fonction d'inversion de chaîne. Une de ses utilisations est donnée ci-dessous :

#include<stdio.h>

#include<string.h>

int main()

{

char temp[20]=”Inverser” ;

printf("La chaîne avant l'inversion est : %s\n", temp);

printf("Chaîne après strrev() :%s", strrev(temp));

renvoie 0 ;

}

Quelques autres fonctions de gestion de chaîne avec objectif :

Comme nous l'avons dit plus tôt, il existe plus de fonctions de chaîne en C. Certaines autres fonctions couramment utilisées pour la gestion des chaînes en C sont :

Une fonction But
strchr() Il renvoie un pointeur sur la première occurrence de char dans str1
strdup() Il peut dupliquer la chaîne
strset() Définit tous les caractères d'une chaîne sur le caractère donné
strrchr() Utilisé pour localiser l'occurrence d'un premier caractère de pointage

Lisez également : Classe Scanner en Java : Types de constructeurs et méthodes, comment les utiliser

Derniers mots

Comme tous les autres langages C, possède également une vaste bibliothèque de fonctions prêtes à l'emploi ou intégrées. Pour gérer n'importe quelle chaîne de caractères, vous pouvez utiliser directement ces fonctions. Cependant, les fonctions ne se limitent pas à celles-ci. Il existe de nombreuses autres fonctions de chaîne en C dans le fichier d'en-tête. Leur principal avantage est de réduire le temps et la durée de codage.

Si vous souhaitez en savoir plus sur Java, les OOP et le développement de logiciels à pile complète, consultez le diplôme PG upGrad & IIIT-B en développement de logiciels à pile complète qui est conçu pour les professionnels et offre plus de 500 heures de formation rigoureuse, 9 + projets et affectations, statut d'ancien de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Préparez-vous à une carrière d'avenir

APPRENTISSAGE DE CONFIANCE DE L'INDUSTRIE - CERTIFICATION RECONNUE PAR L'INDUSTRIE.
Apprendre encore plus