string.h

string.h

<string.h> est l'en-tête de la bibliothèque standard de C, du langage C, qui contient les définitions des macros, des constantes et les déclarations de fonctions et de types utilisées non seulement pour la manipulation de chaînes de caractères, mais aussi pour diverses fonctions de manipulations de la mémoire.

Les fonctions déclarées dans string.h sont extrêmement utiles, puisqu'en tant que part de la bibliothèque standard C, il est certain qu'elles fonctionnent sur toute plate-forme qui supporte le langage C. Malgré tout, quelques problèmes de sécurité existent avec ces fonctions, comme des débordements de tampon, ce qui mène les programmeurs à préférer des solutions plus sûres, mais peut-être moins portables. De plus, ces fonctions ne sont compatibles qu'avec l'ASCII ou des codages semblables comme l'ISO-8859-1 ; les codages de caractères multibyte, tels qu'UTF-8, posent le problème que la « longueur » des chaînes est interprétée comme un nombre d'octets, plutôt que comme un nombre de caractère unicode. La manipulation des chaînes de type non-ASCII est généralement réalisé à travers wchar.h.

Sommaire

Constantes et types

Nom Notes
NULL macro exprimant le pointeur nul, cette constante représente la valeur du pointeur pour laquelle on est sûr qu'elle ne désigne ni une adresse valide, ni un objet en mémoire
size_t un entier non signé qui correspond au résultat de l'opérateur sizeof

Fonctions

Nom Notes
void *memcpy(void *dest, const void *src, size_t n); copie n octets entre deux zones mémoire, qui ne doivent pas se superposer
void *memmove(void *dest, const void *src, size_t n); copie n octets entre deux zones mémoire ; à la différence de memcpy, les zones mémoire peuvent se superposer
void *memchr(const void *s, int c, size_t n); retourne en pointeur la première occurrence c parmi les n premiers octets de s, ou NULL si c n'est pas trouvé
int memcmp(const void *s1, const void *s2, size_t n); compare les n premiers caractères de deux zones mémoire
void *memset(void *, int, size_t); remplit une zone mémoire de la répétition d'un caractère
char *strcat(char *dest, const char *src); concatène la chaîne src à la suite de dest
char *strncat(char * dest, const char * src, size_t n); concatène au plus n caractères de la chaîne src à la suite de dest
char *strchr(const char *, int); cherche un caractère dans une chaîne et renvoie un pointeur sur le caractère, en cherchant depuis le début
char *strrchr(const char *, int); idem que strchr, recherche à partir de la fin
int strcmp(const char *, const char *); compare deux chaînes numériquement
int strncmp(const char *, const char *, size_t n); compare les n premiers octets au plus de deux chaînes en utilisant l'ordre lexicographique
int strcoll(const char *, const char *); compare deux chaînes en utilisant l'ordre lexicographique
char *strcpy(char *toHere, const char *fromHere); copie une chaîne de caractères d'une zone à une autre
char *strncpy(char *toHere, const char *fromHere, size_t n); copie au plus n caractères d'une chaîne d'une zone à une autre
char *strerror(int); retourne la chaîne de caractères correspondant à un numéro d'erreur
size_t strlen(const char *); retourne la longueur d'une chaîne caractères
size_t strspn(const char *s, const char *accept); détermine la taille de la sous-chaîne initiale maximale de s ne contenant que des caractères présents dans accept
size_t strcspn(const char *s, const char *reject); détermine la taille de la sous-chaîne initiale maximale de s ne contenant pas de caractères de reject
char *strpbrk(const char *s, const char *accept); trouve la première occurrence d'un caractère d'accept dans s
char *strstr(const char *haystack, const char *needle); trouve la première occurrence de la chaîne needle dans la chaîne haystack
char *strtok(char *, const char *); scinde une chaîne en éléments lexicaux. Note: la fonction modifie la chaîne passée en paramètre.
size_t strxfrm(char *dest, const char *src, size_t n); transforme src de façon à ce que le tri par ordre lexicographique de la chaîne transformée soit équivalent au tri par ordre lexicographique de src.

Extensions à ISO C

Nom Notes Spécification
char *strdup(const char *); alloue et duplique une chaîne en mémoire POSIX ; une extension de BSD au départ
errno_t strcpy_s(char *restrict s1, rsize_t s1max, const char *restrict s2); variante de strcpy qui vérifie les tailles en mémoire ISO/IEC WDTR 24731
void *mempcpy(void *dest, const void *src, size_t n); variante de memcpy donnant un pointeur sur l'octet suivant le dernier écrit GNU
void *memccpy(void *dest, const void *src, int c, size_t n); copie au plus n octets entre deux zones mémoire, qui ne doivent pas se superposer, en s'arrêtant quand la caractère c est trouvé UNIX 98?
int *strerror_r(int, char *, size_t); retourne la représentation en chaîne d'un code d'erreur (version compatible avec les threads) GNU, POSIX
size_t strlcpy(char *dest, const char *src, size_t n); variante de strcpy qui vérifie la taille des zones allouées à l'origine OpenBSD, également FreeBSD, Solaris, Mac OS X
char *strtok_r(char *, const char *, char **); version de strtok compatible avec les threads POSIX
char *strsignal(int sig); tout comme strerror, renvoie une description textuelles d'un signal (fonctionnement non garanti avec les threads) BSDs, Solaris, Linux

Liens internes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article string.h de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать реферат

Regardez d'autres dictionnaires:

  • String — (str[i^]ng), n. [OE. string, streng, AS. streng; akin to D. streng, G. strang, Icel. strengr, Sw. str[ a]ng, Dan. str[ae]ng; probably from the adj., E. strong (see {Strong}); or perhaps originally meaning, twisted, and akin to E. strangle.] 1. A… …   The Collaborative International Dictionary of English

  • string — [striŋ] n. [ME streng < OE, akin to Ger strang: see STRONG] 1. a) a thin line of twisted fiber used for tying, pulling, fastening, etc.; slender cord or thick thread b) a narrow strip of leather or cloth for fastening shoes, clothing, etc.;… …   English World dictionary

  • STRING — (Search Tool for the Retrieval of Interacting Genes/Proteins) ist eine Bioinformatik Datenbank, die einen umfassenden Überblick über direkte (physikalische) und indirekte (funktionelle) Zusammenhänge und Interaktionen zwischen Proteinen gibt. Sie …   Deutsch Wikipedia

  • string — ► NOUN 1) material consisting of threads twisted together to form a thin length. 2) a piece of such material. 3) a length of catgut or wire on a musical instrument, producing a note by vibration. 4) (strings) the stringed instruments in an… …   English terms dictionary

  • string — [ striŋ ] n. m. • 1977; mot angl. « ficelle » ♦ Anglic. Maillot de bain ou slip très petit, assemblé par des liens, laissant les fesses nues. ⇒ cache sexe. ● string nom masculin (anglais string, corde) Cache sexe qui laisse les fesses nues.… …   Encyclopédie Universelle

  • String — (str[i^]ng), v. t. [imp. {Strung} (str[u^]ng); p. p. {Strung} (R. {Stringed} (str[i^]ngd)); p. pr. & vb. n. {Stringing}.] 1. To furnish with strings; as, to string a violin. [1913 Webster] Has not wise nature strung the legs and feet With firmest …   The Collaborative International Dictionary of English

  • String.h — is the header in the C standard library for the C programming language which contains macro definitions, constants, and declarations of functions and types used not only for string handling but also various memory handling functions; the name is… …   Wikipedia

  • String.h — Demande de traduction string.h → …   Wikipédia en Français

  • String — (engl. string „Schnur“, „Strang“, „Saite“, „Kette“) steht für: Zeichenkette (Informatik); das fundamentale Objekt der Stringtheorie (Physik); kosmischer String, hypothetischer Raumdefekt; String (Kleidung), sehr knappe Höschenform. Die Abkürzung… …   Deutsch Wikipedia

  • String.h — Стандартная библиотека языка программирования С assert.h complex.h ctype.h errno.h fenv.h float.h inttypes.h iso646.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stdbool.h stddef.h stdint.h stdio.h stdlib.h …   Википедия

  • String.h — Saltar a navegación, búsqueda string.h es un archivo de la Biblioteca estándar del lenguaje de programación C que contiene la definición de macros, constantes, funciones y tipos de utilidad para trabajar con cadenas de caracteres y algunas… …   Wikipedia Español

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”