TacOS  0.2
 Tout Structures de données Fichiers Fonctions Variables Définitions de type Énumérations Macros
Macros | Fonctions
Référence du fichier string.c

Manipulation de string depuis le kernel. Plus de détails...

#include <klibc/string.h>
#include <kmalloc.h>
Graphe des dépendances par inclusion de string.c:

Macros

#define wsize   sizeof(unsigned int)
 
#define wmask   (wsize - 1)
 

Fonctions

void * memcpy (void *dest, const void *src, size_t n)
 Copie une zone mémoire. Plus de détails...
 
size_t strlen (const char *s)
 Calcule la longueur d'une chaîne de caractères. Plus de détails...
 
int strcmp (const char *s1, const char *s2)
 Compare deux chaînes. Plus de détails...
 
int strncmp (const char *s1, const char *s2, size_t n)
 Compare deux chaînes jusqu'à n caractères. Plus de détails...
 
int strcasecmp (const char *s1, const char *s2)
 Compare deux chaînes. Plus de détails...
 
int strncasecmp (const char *s1, const char *s2, size_t n)
 Compare deux chaînes jusqu'à n caractères. Plus de détails...
 
char * strchrnul (const char *s, int c)
 Recherche un caractère dans une chaîne. Plus de détails...
 
void * memset (void *s, int c, size_t n)
 Rempli une zone mémoire avec un octet donné. Plus de détails...
 
int memcmp (const void *s1, const void *s2, size_t n)
 Compare deux zones mémoire. Plus de détails...
 
char * strcpy (char *s1, const char *s2)
 Copie une chaine. Plus de détails...
 
char * strncpy (char *s1, const char *s2, size_t n)
 Copie une chaine en se limitant aux n premiers caractères. Plus de détails...
 
char * strcat (char *s1, const char *s2)
 Concaténation de deux chaînes. Plus de détails...
 
char * strncat (char *s1, const char *s2, size_t n)
 Concaténation de deux chaînes avec une limite aux n premiers caractères. Plus de détails...
 
void * memmove (void *dest, const void *src, size_t n)
 Copie une zone mémoire. Plus de détails...
 
char * strstr (const char *haystack, const char *needle)
 Recherche une sous-chaîne. Plus de détails...
 
char * strcasestr (const char *haystack, const char *needle)
 Recherche une sous-chaîne en ignorant la casse. Plus de détails...
 
char * strdup (const char *s)
 Duplique une chaine. Plus de détails...
 
char * strchr (const char *s, int c)
 Rechercher un caractère dans une chaîne. Plus de détails...
 
char * strrchr (const char *s, int c)
 Rechercher un caractère dans une chaîne. Plus de détails...
 
char * strtok (char *str, const char *delim)
 Extraire des mots d'une chaîne. Plus de détails...
 

Description détaillée

Auteur
TacOS developers

LICENSE

Copyright (C) 2010-2014 TacOS developers.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details at http://www.gnu.org/copyleft/gpl.html

You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/licenses.

DESCRIPTION

Documentation des macros

#define wmask   (wsize - 1)

Masque utilisé pour copier de façon alignée.

#define wsize   sizeof(unsigned int)

Taille d'un entier non signé.

Documentation des fonctions

int memcmp ( const void *  s1,
const void *  s2,
size_t  n 
)

Compare les n premiers octets des zones mémoires s1 et s2. Elle retourne un entier négatif, positif ou nul si les n premiers octets de s1 sont respectivement plus petits, plus grands ou identiques aux n premiers octets de s2.

Voir également
strcmp
strncmp
Paramètres
s1pointeur vers la première zone mémoire.
s2pointeur vers la seconde zone mémoire.
nle nombre d'octets à comparer.
Renvoie
un entier négatif, positif ou nul si les n premiers octets de s1 sont respectivement plus petits, plus grands ou identiques aux n premiers octets de s2.
void* memcpy ( void *  dest,
const void *  src,
size_t  size 
)

La fonction memcpy() copie une zone mémoire de size octets depuis src vers la zone mémoire dest. Les deux zones ne doivent pas se chevaucher sinon il faut utiliser memmove.

Voir également
memmove
Paramètres
destadresse mémoire où il faut copier
srcadresse mémoire source
sizetaille de la zone à copier
Renvoie
un pointeur sur dest.
void* memmove ( void *  dest,
const void *  src,
size_t  n 
)

La fonction memmove() copie n octets depuis la zone mémoire src vers la zone mémoire dest. La différence avec memcpy c'est que les zones peuvent se chevaucher.

Voir également
memcpy
Paramètres
destzone mémoire de destination.
srcchaine source.
nnombre de caractères à copier au maximum.
Renvoie
un pointeur sur dest.
void* memset ( void *  s,
int  c,
size_t  n 
)

Rempli la zone mémoire pointée par s et de n octets par l'octet c.

Paramètres
szone mémoire à remplir
coctet qui sert pour le remplissage
nnombre d'octets à copier
Renvoie
un pointeur vers la zone mémoire s.
int strcasecmp ( const char *  s1,
const char *  s2 
)

La fonction strcasecmp() compare deux chaînes de caractères et retourne en résultat un nombre négatif, positif ou nul si s1 est respectivement inférieur, supérieur ou identique à s2.

Paramètres
s1première chaîne
s2seconde chaîne
Renvoie
un entier strictement négatif si s1 est inférieur à s2, strictement positif si s1 est supérieur à s2 et nul si s1 est identique à s2.
char* strcasestr ( const char *  haystack,
const char *  needle 
)

Recherche needle (aiguille) dans la chaine heystack (meule de foin). Les caractères « \0 » ne sont pas comparés. La casse des arguments est ignorée.

Paramètres
haystackchaîne dans laquelle on va effectuer la recherche.
needlesous-chaîne à rechercher.
Renvoie
un pointeur vers le début de la sous-chaîne ou NULL si non trouvée.
char* strcat ( char *  s1,
const char *  s2 
)

Ajoute à la fin de s1 le contenu de s2 en s'arrêtant au premier caractère '\0' rencontré.

Paramètres
s1chaine destination.
s2chaine source qui sera ajoutée à la fin de s1.
Renvoie
un pointeur vers la chaine de destination s1.
char* strchr ( const char *  s,
int  c 
)

La fonction strchr() renvoie un pointeur sur la première occurrence du caractère c dans la chaîne s.

Paramètres
sla chaîne dans laquelle on veut chercher le caractère.
cle caractère que l'on recherche dans la chaine.
Renvoie
un pointeur sur la première occurence trouvée ou NULL si absent.
char* strchrnul ( const char *  s,
int  c 
)

Recherche un caractère dans une chaîne, et si le caractère n'est pas présent, renvoie un pointeur vers l'octet nul de la chaîne.

Paramètres
sLa chaîne dans laquelle il faut effectuer une recherche.
cLe caractère à rechercher.
Renvoie
Un pointeur sur la première occurrence du caractère dans la chaîne ou un pointeur vers la caractère nul de la chaîne si le caractère n'est pas trouvé.
int strcmp ( const char *  s1,
const char *  s2 
)

La fonction strcmp() compare deux chaînes de caractères et retourne en résultat un nombre négatif, positif ou nul si s1 est respectivement inférieur, supérieur ou identique à s2.

Paramètres
s1première chaîne
s2seconde chaîne
Renvoie
un entier strictement négatif si s1 est inférieur à s2, strictement positif si s1 est supérieur à s2 et nul si s1 est identique à s2.
char* strcpy ( char *  s1,
const char *  s2 
)

Copie la chaine s2 vers la zone mémoire pointée par s1. La copie s'arrête dès que le caractère '\0' est rencontré dans s2.

Paramètres
s1zone mémoire de destination.
s2chaine source.
Renvoie
un pointeur vers la chaîne de destination s1.

Voici le graphe des appelants de cette fonction :

char* strdup ( const char *  s)

strdup va faire un malloc de taille suffisante pour y copier la chaîne en paramètre.

Paramètres
sla chaîne à dupliquer.
Renvoie
un pointeur vers la nouvelle zone mémoire contenant une copie de la chaîne.
size_t strlen ( const char *  s)

La fonction strlen() calcule la longueur de la chaîne de caractères s sans compter le caractère nul « \0 »

Paramètres
sla chaîne dont on veut calculer la longueur
Renvoie
le nombre de caractères dans la chaîne s.

Voici le graphe des appelants de cette fonction :

int strncasecmp ( const char *  s1,
const char *  s2,
size_t  n 
)

La fonction strncasecmp compare deux chaînes de caractères et retourne en résultat un nombre négatif, positif ou nul si les n premiers caractères de s1 sont inférieurs, supérieurs ou identiques aux n premiers caractères de s2.

Paramètres
s1première chaîne
s2seconde chaîne
nnombre de caractères à comparer
Renvoie
un entier strictement négatif si les n premiers caractères de s1 sont inférieurs aux n premiers caractères de s2, strictement positif s'ils sont supérieurs et nul s'ils sont identiques.
char* strncat ( char *  s1,
const char *  s2,
size_t  n 
)

Ajoute à la fin de s1 le contenu de s2 en s'arrêtant à n caractères ou au premier caractère '\0' rencontré.

Paramètres
s1chaine destination.
s2chaine source qui sera ajoutée à la fin de s1.
nnombre de caractères à copier.
Renvoie
un pointeur vers la chaine de destination s1.
int strncmp ( const char *  s1,
const char *  s2,
size_t  n 
)

La fonction strncmp compare deux chaînes de caractères et retourne en résultat un nombre négatif, positif ou nul si les n premiers caractères de s1 sont inférieurs, supérieurs ou identiques aux n premiers caractères de s2.

Paramètres
s1première chaîne
s2seconde chaîne
nnombre de caractères à comparer
Renvoie
un entier strictement négatif si les n premiers caractères de s1 sont inférieurs aux n premiers caractères de s2, strictement positif s'ils sont supérieurs et nul s'ils sont identiques.
char* strncpy ( char *  s1,
const char *  s2,
size_t  n 
)

Copie la chaine s2 vers la zone mémoire pointée par s1 en s'arrêtant aux n premiers caractères de s1. La copie s'arrête au bout de n caractères ou dès que le caractère '\0' est lu dans la chaine source s2. Attention, la chaîne s1 ne contient pas forcément le caractère '\0' si la limite des n caractères est atteinte.

Paramètres
s1zone mémoire de destination.
s2chaine source.
nnombre de caractères à copier au maximum.
Renvoie
un pointeur vers la chaîne de destination s1.

Voici le graphe des appelants de cette fonction :

char* strrchr ( const char *  s,
int  c 
)

La fonction strchr() renvoie un pointeur sur la dernière occurrence du caractère c dans la chaîne s.

Paramètres
sla chaîne dans laquelle on veut chercher le caractère.
cle caractère que l'on recherche dans la chaine.
Renvoie
un pointeur sur la dernière occurence trouvée ou NULL si absent.
char* strstr ( const char *  haystack,
const char *  needle 
)

Recherche needle (aiguille) dans la chaine heystack (meule de foin). Les caractères « \0 » ne sont pas comparés.

Paramètres
haystackchaine dans laquelle on va effectuer la recherche.
needlesous-chaîne à rechercher.
Renvoie
un pointeur vers le début de la sous-chaîne ou NULL si non trouvée.
char* strtok ( char *  str,
const char *  delim 
)
Paramètres
strLa chaine à tokenizer.
delimL'ensemble des délimiteurs possible.
Renvoie
Un pointeur vers l'élément lexical suivant ou NULL s'il n'y en a plus.