string
@@ -88,6 +88,13 @@ La bibliothèque standard ***stdlib.h*** (standard library) fournit des fonction
|
||||
|
||||
La bibliothèque ***string.h*** fournit des fonctions pour manipuler les chaînes de caractères et les blocs mémoire.
|
||||
|
||||
- `strlen()` : Calculer la longueur de la chaîne (sans compter le caractère nul).
|
||||
- `strcpy()` : Copier une chaîne dans une autre (=).
|
||||
- `strcmp()` : Comparer deux chaînes (==).
|
||||
- `strcat()` : Concaténer deux chaînes (+).
|
||||
|
||||
[VOIR](string) en détail le fonctionnement des chaines de caractères.
|
||||
|
||||
### ctype
|
||||
|
||||
La bibliothèque ***ctype.h*** fournit des fonctions pour tester et manipuler des caractères.
|
||||
|
||||
20
string.md
20
string.md
@@ -7,11 +7,18 @@ Les tableaux étant aussi des pointeurs, les chaînes de caractères sont des po
|
||||
|
||||
### Tableau de caractères
|
||||
|
||||
Une chaîne de caractères est déclarée comme un tableau de type char, où chaque élément représente un caractère, et la dernière position du tableau contient le caractère nul (\0).
|
||||
Une chaîne de caractères est déclarée comme un tableau de type char, où chaque élément représente un caractère, et la dernière position de la chaine contient le caractère nul (\0).
|
||||
|
||||
```c
|
||||
char nom[10] = "Alice"; // Déclare un tableau de 10 caractères
|
||||
```
|
||||
|
||||
Position|0|1|2|3|4|5|6|7|8|9|
|
||||
---|---|---|---|---|---|---|---|---|---|---|
|
||||
caractère |A|l|i|c|e
|
||||
code ascii|65|108|105|99|101|0|xx|xx|xx|xx
|
||||
|
||||
|
||||
#### Accès aux caractères
|
||||
|
||||
Les caractères individuels d'une chaîne peuvent être accédés via leur index, comme pour tout tableau :
|
||||
@@ -24,10 +31,10 @@ printf("%c", nom[0]); // Affiche 'A'
|
||||
|
||||
La bibliothèque standard de C (<string.h>) fournit plusieurs fonctions pour manipuler les chaînes de caractères, telles que :
|
||||
|
||||
- strlen() : Calculer la longueur de la chaîne (sans compter le caractère nul).
|
||||
- strcpy() : Copier une chaîne dans une autre (=).
|
||||
- strcmp() : Comparer deux chaînes (==).
|
||||
- strcat() : Concaténer deux chaînes (+).
|
||||
- `strlen()` : Calculer la longueur de la chaîne (sans compter le caractère nul).
|
||||
- `strcpy()` : Copier une chaîne dans une autre (=).
|
||||
- `strcmp()` : Comparer deux chaînes (==).
|
||||
- `strcat()` : Concaténer deux chaînes (+).
|
||||
|
||||
> [!WARNING]
|
||||
> NE JAMAIS faire d'opération sur les chaines de caractère = + ==. Il faut utiliser les fonctions prévues pour la manipulation des chaînes.
|
||||
@@ -83,11 +90,10 @@ int main (int argc , char *argv[])
|
||||
|
||||
A la fin de la saisie, le caractère '\0' est ajouté automatiquement.
|
||||
|
||||
|
||||
> [!WARNING]
|
||||
> ATTENTION : scanf ne permet pas la saisie d'une chaîne comportant des espaces.
|
||||
⇒ Les caractères saisis à partir de l'espace ne sont pas pris en compte mais restent rangés dans le tampon
|
||||
d'entrée.
|
||||
{class=warning}
|
||||
|
||||
|
||||
### Le tampon d'entrée ?
|
||||
|
||||
@@ -12,10 +12,10 @@ typedef struct {
|
||||
|
||||
```c
|
||||
typedef struct {
|
||||
int compte_id; // lien avec le compte
|
||||
char type; // 'D' ou 'R'
|
||||
double montant;
|
||||
char date[20]; // horodatage ou saisie manuelle
|
||||
int compte_id; // lien avec le compte
|
||||
char type; // 'D' ou 'R'
|
||||
double montant;
|
||||
char date[20]; // horodatage ou saisie manuelle
|
||||
} Operation;
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user