C Standard Library: <string.h>
Sab 21 Feb 2009
   


#define NULL <0, 0L, or (void *)0>

typedef ui-type size_t;

void *memchr(const void *s, int c, size_t n);
int memcmp(const void *s1, const void *s2, size_t n);
void *memcpy(void *s1, const void *s2, size_t n);
void *memmove(void *s1, const void *s2, size_t n);
void *memset(void *s, int c, size_t n);
char *strcat(char *s1, const char *s2);
char *strchr(const char *s, int c);
int strcmp(const char *s1, const char *s2);
int strcoll(const char *s1, const char *s2);
char *strcpy(char *s1, const char *s2);
size_t strcspn(const char *s1, const char *s2);
char *strerror(int errcode);
size_t strlen(const char *s);
char *strncat(char *s1, const char *s2, size_t n);
int strncmp(const char *s1, const char *s2, size_t n);
char *strncpy(char *s1, const char *s2, size_t n);
char *strpbrk(const char *s1, const char *s2);
char *strrchr(const char *s, int c);
size_t strspn(const char *s1, const char *s2);
char *strstr(const char *s1, const char *s2);
char *strtok(char *s1, const char *s2);
size_t strxfrm(char *s1, const char *s2, size_t n);
Costante puntatore NULL.
Intero senza segno restituito da sizeof.
 

void* memchr(const void* s, int c, size_t n);
Restituisce un puntatore alla prima occorrenza di c presente nei primi n caratteri di s. Se c non è presente nei primi n caratteri di s restituisce NULL.
int memcmp(const void* s, const void* t, size_t n);
Confronta carattere per carattere i primi n caratteri di s con i primi n caratteri di t. Restituisce un valore negativo se s<t, ovvero se il valore numerico dell'i-esimo carattere di s è minore del valore numerico dell'i-esimo carattere di t. Restituisce zero se ct == cs, restituisce un valore positivo se cs > ct.
void* memcpy(void* s, const void* t, size_t n);
Copia n caratteri da t a s e restituisce s, in caso incontri NULL continuerà a copiare finché non avrà copiato n caratteri.
Se s e t si sovrappongono il comportamento di memcpy sarà indefinito.
void* memmove(void* s, const void* t, size_t n);
Copia n caratteri da t a s e restituisce s, in caso incontri NULL continuerà a copiare finché non avrà copiato n caratteri.
Se s e t si sovrappongono la copia avverrà correttamente.
void* memset(void* s, int c, size_t n);
Sostituisce ciascuno dei primi n caratteri di s con c e restituisce s così modificata.
char* strcpy(char* s, const char* t);
Copia t in s incluso il carattere terminale NULL e restituisce s.
char* strncpy(char* s, const char* t, size_t n);
Copia i primi n caratteri di t in s, compreso l'eventuale carattere terminale NULL. L'operazione termina se sono stati copiati n caratteri o se è stato raggiunto NULL. Restituisce s.
char* strcat(char* s, const char* t);
Concatena t a s e restituisce s. Copia tutti i caratteri di t, compreso il carattere di fine stringa (NULL), alla fine della stringa s. Quindi restituisce s.
char* strncat(char* s, const char* t, size_t n);
Concatena al più n caratteri di t a s, e restituisce s. Copia i primi n caratteri di t alla fine della stringa s. Si ferma dopo aver copiato n caratteri o dopo aver incotrato il carattere di fine stringa (NULL). Quindi restituisce s.
int strcmp(const char* s, const char* t);
Confronta le stringhe s e t. Confronta le due stringhe carattere per carattere fino a quando non incontra una coppia di caratteri non identici, o fino a quando una delle due stringhe non arriva al carattere nullo.
Quindi restituisce un valore negativo se il valore numerico del carattere della stringa s è minore del valore numerico del carattere della stringa t, restituisce un valore positivo se il valore numerico del carattere della stringa s è maggiore del valore numerico del carattere della stringa t. Se non sono stati trovati caratteri diversi nelle due stringhe, le due stringhe sono uguali e la funzione restituisce zero.
int strncmp(const char* s, const char* t, size_t n);
Confronta la stringa s con i primi n caratteri della stringa t. Confronta le due stringhe carattere per carattere fino a quando non incontra una coppia di caratteri non identici, o fino a quando una delle due stringhe non arriva al carattere nullo, o fino a quando non sono stati raggiunti gli n caratteri.
Quindi restituisce un valore negativo se il valore numerico del carattere della stringa s è minore del valore numerico del carattere della stringa t, restituisce un valore positivo se il valore numerico del carattere della stringa s è maggiore del valore numerico del carattere della stringa t. Se non sono stati trovati caratteri diversi nelle due stringhe, le due stringhe sono uguali e la funzione restituisce zero.
int strcoll(const char* s, const char* t);
Confronta le stringhe s e t. A differenza della strcmp utilizza le informazioni relative alla località corrente del programma.
char* strchr(const char* s, int c);
Ricerca il carattere c all'interno della stringa s. Se il carattere c è presente in s la funzione restituisce un puntatore alla prima occorrenza di c in s, se c non è presente in s restituisce NULL.
char* strrchr(const char* s, int c);
Ricerca l'ultima occorrenza del carattere c all'interno della stringa s. Se il carattere c è presente in s la funzione restituisce un puntatore all'ultima occorrenza di c in s, se c non è presente in s restituisce NULL.
size_t strspn(const char* s, const char* t);
Restituisce la lunghezza del prefisso di s che è costituito esclusivamente da caratteri che sono presenti in t. Ovvero restituisce la lunghezza della più grande sottostringa iniziale di s costituita esclusivamente da caratteri che sono presenti in t.
size_t strcspn(const char* s, const char* t);
Restituisce la lunghezza del prefisso di s che è costituito esclusivamente da caratteri che non sono presenti in t. Ovvero restituisce la lunghezza della più grande sottostringa iniziale di s costituita esclusivamente da caratteri che non sono presenti in t.
char* strpbrk(const char* s, const char* t);
Restituisce il puntatore alla prima occorrenza in s di un qualsiasi carattere presente in t. Se non trova caratteri restituisce NULL.
char* strstr(const char* s, const char* t);
Restituisce un puntatore alla prima occorrenza di t all'interno di s. Restituisce NULL se t non è presente in s.
size_t strlen(const char* s);
Restituisce la lunghezza di s.
char* strerror(int n);
Restituisce un puntatore alla stringa contenente il messaggio d'errore relativo al codice di errore n.
char* strtok(char* s, const char* t);
Scompone la stringa s in token, i caratteri che delimitano i vari token sono contenuti in t. Se viene individuato un token viene restituito il puntatore al primo token (una sottostringa di s a cui è stato aggiunto NULL), se non viene individuato alcun token restituisce NULL.
Alla prima chiamata in s va inserita la stringa da scomporre e in t i caratteri che delimitano i vari token.
strtok individua il primo token, salva il puntatore al resto della stringa s e restituisce il puntatore al primo token. Nelle chiamate successive recupera il puntatore al resto della stringa s non ancora scomposta, individua un altro token, se rimane una parte di stringa non ancora scomposta salva il puntatore a questa stringa in attesa della prossima chiamata, e restituisce il puntatore al token.
La stringa t, che contiene i delimitatori dei token, può anche essere diversa (possno quindi esservi delimitatori diversi) ad ogni chiamata.
size_t strxfrm(char* s, const char* t, size_t n);
Trasforma la stringa s secondo la localizzazione, quindi copia i primi n caratteri, a cui viene aggiunto NULL in t. Restituisce la lunghezza dell'intera stringa trasformata.