Ensembles de caractères
Une constante de corde, comme
"I am a string"
est un choix de caractères. Il est représenté intérieurement dans C par les caractères d'ASCII dans la corde, c.-à-d., " I ", blanc, " a ", " m ",… ou la corde ci-dessus, et terminé par " spécial de caractère nul \ 0 " ainsi programmes peuvent trouver l'extrémité de la corde.
Les constantes de corde sont employées souvent dans la fabrication du rendement du printf employant intelligible de code :
printf("Hello, world\n");
printf("The value of a is: %f\n", a);
Des constantes de corde peuvent être associées aux variables. C fournit le type de caractère variable, qui peut contenir un caractère (1 byte) à la fois. Une chaîne de caractères est stockée dans un choix de type de caractère, un caractère d'ASCII par endroit.
Ne jamais oublier que, puisque des cordes sont par convention terminées par « de caractère nul \ 0 », nous avons besoin d'un endroit supplémentaire de stockage dans la rangée.
C ne fournit aucun opérateur qui manoeuvre les cordes entières immédiatement. Des cordes sont manoeuvrées par l'intermédiaire des indicateurs ou par l'intermédiaire des routines spéciales fournies par la bibliothèque standard string.h. de corde.
Employer des indicateurs de caractère est relativement facile puisque le nom d'une rangée est un juste un indicateur à son premier élément. Considérer le programme donné après :
#include<stdio.h>
void main()
{
char text_1[100], text_2[100], text_3[100];
char *ta, *tb;
int i;
/* set message to be an arrray */
/* of characters; initialize it */
/* to the constant string "..." */
/* let the compiler decide on */
/* its size by using [] */
char message[] = "Hello, I am a string; what are
you?";
printf("Original message: %s\n", message);
/* copy the message to text_1 */
i=0;
while ( (text_1[i] = message[i]) != '\0' )
i++;
printf("Text_1: %s\n", text_1);
/* use explicit pointer arithmetic */
ta=message;
tb=text_2;
while ( ( *tb++ = *ta++ ) != '\0' )
;
printf("Text_2: %s\n", text_2);
}
Le rendement du programme sera comme suit :
Original message: Hello, I am a string; what are you?
Text_1: Hello, I am a string; what are you?
Text_2: Hello, I am a string; what are you? |
La bibliothèque standard de " corde " contient beaucoup de fonctions utiles pour manoeuvrer les cordes, que nous apprendrons dans la section de corde plus tard.
|