1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
//Bibliothéques
//=========================================================================
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//=========================================================================
/*
* FONCTIONS SUR LES STRINGS (CHAINE DE CARACTERES)
======================================================================================
- strlen donne la taille de la chaine de caractere,
ATTENTION, ne prends pas en compte le caractere fin de chaine = '\0'
- strchr(chaine, char) retourne l'adresse (pointeur) du premier char trouvé dans la chaine
char c = 'o';
- strcmp (chaine1, chaine2)
si chaine1 == chaine2 alors return 0
si chaine1 > chaine2 (APRES ordre alphabétique ) alors return +1
si chaine1 < chaine2 (AVANT ordre alphabétique ) alors return -1
- strcpy(chaine1, chaine2) => copie chaine2 dans chaine1
*/
// Fonction main (principale = point d'entré du programme)
//=========================================================================
int main(void)
{
char chaine[] = "hello";
// strlen()
printf("La chaine est : %s\nSa taille est : %d\n", chaine, strlen(chaine));
// strchr()
char c = 'O';
char *p_char = strchr(chaine, c);
char *p_chaine = chaine;
int position = ((int)p_char) - ((int)p_chaine) + 1;
// Gestion de l'erreur (pointeur NULL)
// ========================================================================
if (p_char == NULL)
printf("Le char : %c n'est pas présent dans la chaine : \"%s\"\n", c, chaine);
else
printf("La chaine : %s\nLe caractere : %c\nLa position : %d\n", chaine, c, position);
// ========================================================================
// strcmp()
char chaine_test[] = "xhellO";
if (strcmp(chaine, chaine_test) == 0)
printf("Les chaines sont identiques");
else if (strcmp(chaine, chaine_test) == 1)
printf("%s > %s", chaine, chaine_test);
else if (strcmp(chaine, chaine_test) == -1)
printf("%s < %s", chaine, chaine_test);
// strcpy(destination, source)
// ATTENTION AU DÉPASSEMENT DU TABLEAU POUR LA NOUVELLE CHAINE !
strcpy(chaine, "Hello");
printf("%s\n", chaine);
/*
// - strcat(chaine1, chaine2) => concatene (colle de gauche à droite (chaine1chaine2)
// ATTENTION AU DÉPASSEMENT DU TABLEAU POUR LA NOUVELLE CHAINE !
strcat(message, " word");
printf("message = %s\n", message);
// - long strtol(chaine, pt_fin, base) (string to long)
// Transformer une chaine de caractere representant un nombre en un vrai nombre
strtol("12345", NULL, 10); // => 12345 (le nombre)
strtol("12", NULL, 10); // => 12 (le nombre)
// - double strtod(chaine, pt_fin)
strtod("12.3", NULL); // 12,3 (le nombre)
strtod("12.2", NULL); // 12,2 (le nombre)
// - sprinf(message, chaine avec format, valeur format)
// écris dans message la chaine avec format
sprintf(message, "prix=%d", 3);
*/
return 0;
} |
Partager