Chaînes de caractères en langage c, c'est en fait un tableau le tableau de caractères est indicé de 0 à n-1 ( n étant l'indice maximum défini pour le tableau Exemple: char mot_1[7]; La représentation interne sera: 0 1 2 3 4 5 6 S A L U T \0
Chaînes de caractères Il est possible de travailler sur une seule lettre de la chaîne de caractère en utilisant l'indice du tableau. Comme pour l'exemple précédent, si j'utilise l'instruction mot_1[4] = '\0' La chaîne mot_1 devient La représentation interne sera: 0 1 2 3 4 5 6 Fichier d'entête : string.h Plusieurs fonctions manipulent les chaînes de caractères S A L U \0 \0
Chaînes de caractères (suite) STRCAT Concatène une chaîne à une autre Structure: strcat(chaîne1,chaîne2); STRNCAT Concatène n caractères de chaîne2 à chaîne1 Structure: strncat(chaîne1,chaîne2,n);
Chaînes de caractères (suite) strcat & strncat Exemple dans mot2: "langage" dans mot3: " C++" on exécute strcat(mot2,mot3); mot2 devient: ________________________ Exemple dans mot2: "langage" dans mot3: " C++" on exécute strncat(mot2,mot3,2); mot2 devient: ________________________
Chaînes de caractères (suite) STRCPY Sert à copier une chaîne dans une autre Structure: strcpy(destination,source); Exemple dans mot4: "polyester" dans mot5: "orlon" on exécute strcpy(mot4,mot5); mot4 devient: ________________________ ** Remarque: il faut s'assurer que la chaîne de caractères destination est d'une dimension adéquate sinon il se produira un débordement.
Chaînes de caractères (suite) STRNCPY Sert à copier n caractères de la source vers la destination Structure: strncpy(destination,source,n); Exemple dans mot4: "polyester" dans mot5: "orlon" on exécute strncpy(mot4,mot5,2); mot4 devient: ________________________
Chaînes de caractères (suite) STRCMP Permet de comparer deux chaînes de caractères Structure: strcmp(chaîne1,chaîne2); Exemple . . . . . int a,b,c,d,e,f,g,h; . . . . . a = strcmp("A","A"); b = strcmp("A","B"); c = strcmp("B","A"); d = strcmp("C","A"); e = strcmp("pommes","pomme"); f = strcmp("pommes.","pomme"); g = strcmp("pommette","pomme"); h = strcmp("AA","AB");
Chaînes de caractères (suite) STRNCMP Permet de comparer n caractères de deux chaînes de caractères Structure: strncmp(chaîne1,chaîne2,n); STRLEN Renvoie la longueur de la chaîne Structure: strlen(chaîne);
Chaînes de caractères (suite) STRSET Remplace tous les caractères d'une chaine par un caractère donné Structure: variable prt chaine = strset(chaîne,caractère); STRNSET Remplace les n premiers caractères d'une chaîne par un caractère donné Structure: variable prt chaine = strnset(chaîne,caractère,n);
Chaînes de caractères (suite) STRUPR Convertis les lettres minuscules d'une chaîne en majuscule Structure: variable chaine = strupr(chaîne); STRLWR Convertis les lettres majuscule d'une chaîne en minuscule Structure: variable chaine = strlwr(chaîne);
Chaînes de caractères (suite) STRPBRK Cherche dans une chaîne la première occurrence d'un caractère quelconque d'un ensemble donné. Structure: variable ptr chaine = strpbrk(chaîne,sous-chaîne); Retourne dans un pointeur la valeur de la première occurrence qui correspond à un caractère quelconque de la sous-chaîne dans la première.
Chaînes de caractères (suite) ATOI Convertis une chaîne de caractère en entier Structure: variable int = atoi(chaîne); ITOA Convertis un entier en chaîne de caractère Structure: itoa(valeur,chaine,base); où base peut être de 2 à 32
Prochain bloc L'organisation des fichiers