String.h: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Etichette: Annullato Modifica visuale |
m Annullate le modifiche di 2.228.225.34 (discussione), riportata alla versione precedente di 2.37.207.57 Etichetta: Rollback |
||
Riga 6:
==Costanti e tipi==
{| class="wikitable"
|-
! Nome !! Descrizione
|-
|<code>NULL</code> || Una macro che rappresenta la costante [[Puntatore (programmazione)#Il puntatore null|puntatore nullo]]; in altre parole, una costante che rappresenta un valore che è garantito essere l'indirizzo di una posizione '''non''' valida nella memoria.
|-
|<code>size_t</code> || Un intero senza segno restituito dell'operatore <code>sizeof</code>.
|}
==Funzioni==
{| class="wikitable"
|-
! Nome !! Descrizione
|-
|<code>void *memcpy(void *dest, const void *src, size_t n);</code>
|Copia n bytes tra due aree di memoria che non devono sovrapporsi.
|-
|<code>void *memmove(void *dest, const void *src, size_t n);</code>
|Copia n bytes tra due aree di memoria; a differenza di <code>memcpy</code> le aree di memoria possono sovrapporsi.
|-
|<code>void *memchr(const void *s, int c, size_t n);</code>
|Ritorna un puntatore alla prima occorrenza di ''c'' in ''s'', o NULL se ''c'' non compare tra i primi ''n'' caratteri di ''s''.
|-
|<code>int memcmp(const void *s1, const void *s2, size_t n);</code>
|Confronta i primi ''n'' caratteri di ''s1'' con ''s2''.
|-
|<code>void *memset(void *s, int c, size_t n);</code>
|Colloca ''c'' nei primi ''n'' caratteri di ''s''.
|-
|<code>char *strcat(char *dest, const char *src);</code>
|Concatena ''src'' alla stringa ''dest''.
|-
|<code>'''char *strncat(char *dest, const char *src, size_t n);'''</code>
|Concatena al massimo ''n'' caratteri ''src'' alla stringa ''dest''.
|-
|<code>char *strchr(const char *s, int c);</code>
|Restituisce un puntatore alla prima occorrenza di ''c'' in ''s''.
|-
|<code>char *strrchr(const char *s, int c);</code>
|Restituisce un puntatore all'ultima occorrenza di ''c'' in ''s''.
|-
|<code>int strcmp(const char *s1, const char *s2);</code>
|Confronta la stringa ''s1'' con ''s2''.
|-
|<code>int strncmp(const char *, const char *, size_t);</code>
|Confronta al massimo ''n'' caratteri della stringa ''s1'' con ''s2''.
|-
|<code>int strcoll(const char *, const char *);</code>
|Confronta due stringhe utilizzando l'[[ordine lessicografico]] stabilito dalla [[localizzazione (software)|localizzazione]] utilizzata
|-
|<code>char *[[strcpy]](char *s1, const char *s2);</code>
|Copia la stringa ''s2'' nella stringa ''s1'', incluso il carattere di terminazione ''\0''.
|-
|<code>'''char *strncpy(char *s1, const char *s2, size_t n);'''</code>
|Copia al massimo ''n'' caratteri della stringa ''s2'' in ''s1''.
|-
|<code>char *strerror(int n);</code>
|Restituisce un puntatore alla stringa che corrisponde all'errore ''n''.
|-
|<code>size_t strlen(const char *s);</code>
|Restituisce la lunghezza della stringa ''s''.
|-
|<code>size_t strspn(const char *s, const char *accept);</code>
|Restituisce la lunghezza della prima istanza della stringa ''s'' di lunghezza massima composta esattamente dai caratteri definiti della stringa ''accept''
|-
|<code>size_t strcspn(const char *s, const char *reject);</code>
|Restituisce la lunghezza della porzione iniziale della stringa ''s'' di lunghezza massima composta esattamente da caratteri diversi da quelli della stringa ''reject''
|-
|<code>char *strpbrk(const char *s, const char *accept);</code>
|Restituisce la prima occorrenza di un carattere presente nella stringa ''s'' che sia uguale ad un qualsiasi carattere presente nella stringa ''accept''
|-
|<code>char *strstr(const char *haystack, const char *needle);</code>
|Trova la prima occorrenza della stringa ''needle'' all'interno della stringa ''haystack''
|-
|<code>char *strtok(char *s, const char *delimiters);</code>
|Spezza la stringa ''s'' in una serie di stringhe chiamate [token] in corrispondenza dei carattere delimitatore ''delimiters''
|-
|<code>size_t strxfrm(char *dest, const char *src, size_t n);</code>
|Trasforma la stringa puntata da ''src'' secondo la [[localizzazione (software)|localizzazione]] in uso e e copia i primi n caratteri di ''src'' nella stringa ''dest''
|}
===Estensioni per ISO C===
{| class="wikitable"
|-
! Nome !! Descrizione !! Specifica
|-
|<code>char *strdup(const char *);</code>
|alloca e duplica una stringa nella memoria
|[[POSIX]]; originariamente una estensione di [[BSD]]
|-
|<code>errno_t strcpy_s(char *restrict s1, rsize_t s1max, const char *restrict s2);</code>
|variante di <code>[[strcpy]]</code> che include dei controlli sulla lunghezza delle stringhe
|ISO/IEC WDTR 24731
|-
|<code>void *mempcpy(void *dest, const void *src, size_t n);</code>
|variante di <code>memcpy</code> che ritorna un puntatore al byte successivo all'ultimo byte scritto
|[[GNU]]
|-
|<code>void *memccpy(void *dest, const void *src, int c, size_t n);</code>
|copia fino ad n byte fra due aree di memoria non sovrapposte, fermandosi quando viene trovato il byte c
|UNIX 98?
|-
|<code>int *strerror_r(int, char *, size_t);</code>
|restituisce una rappresentazione in stringa di un numero di errore (si veda [[errno]]) (thread-safe; alcune differenze semantiche fra la specifica [[GNU]] e XSI/[[POSIX]])
|[[GNU]], [[POSIX]]
|-
|<code>size_t strlcpy(char *dest, const char *src, size_t n);</code>
|variante di <code>[[strcpy]]</code> che comprende controlli sulla lunghezza della stringa
|originariamente [[OpenBSD]], ora anche [[FreeBSD]], [[Solaris (sistema operativo)|Solaris]], [[macOS|OS X]]
|-
|<code>char *strtok_r(char *, const char *, char **);</code>
|versione thread-safe di strtok
|POSIX
|-
|<code>char *[[strsignal]](int sig);</code>
|analogamente a <code>strerror</code>, ritorna una rappresentazione in stringa del [[Segnale (informatica)|segnale]] <code>sig</code> (non thread safe)
|varie distribuzioni BSD, [[Solaris (sistema operativo)|Solaris]], [[Linux]]
|}
==Altri progetti==
{{interprogetto|b=C/Appendice/Librerie standard}}
|