String.h: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
modifiche decise su Discussioni_progetto:Informatica#Libreria_standard_del_C |
m WPCleaner v2.05 - Fixed using WP:WPCleaner (Errori comuni) |
||
(70 versioni intermedie di 48 utenti non mostrate) | |||
Riga 1:
{{titolo
'''string.h''' è l'[[header file]] della [[libreria standard del C]] che contiene definizioni di macro, costanti e dichiarazioni di funzioni e tipi usati non solo nella manipolazione delle stringhe ma anche nella manipolazione della memoria.
Le funzioni dichiarate in ''string.h'' sono molto popolari ed essendo parte della libreria standard del C, il loro funzionamento è garantito su ogni piattaforma che supporta il linguaggio C. Tuttavia,
==Costanti e tipi==
Line 12 ⟶ 9:
{| class="wikitable"
|-
!
|-
|<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.
Line 23 ⟶ 20:
{| class="wikitable"
|-
!
|-
|<code>void *memcpy(void *dest, const void *src, size_t n);</code>
Line 43 ⟶ 40:
|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''.
|-
Line 58 ⟶ 55:
|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>▼
▲|<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''.
|-
Line 76 ⟶ 71:
|-
|<code>size_t strspn(const char *s, const char *accept);</code>
|Restituisce la lunghezza della
|-
|<code>size_t strcspn(const char *s, const char *reject);</code>
Line 85 ⟶ 80:
|-
|<code>char *strstr(const char *haystack, const char *needle);</code>
|Trova la prima occorrenza
|-
|<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 copia i primi n caratteri di ''src'' nella stringa ''dest''
|}
▲===Extensions to ISO C===
{| class="wikitable"
|-
!
|-
|<code>char *strdup(const char *);</code>
|alloca e duplica una stringa nella memoria
|[[POSIX]];
|-
|<code>errno_t strcpy_s(char *restrict s1, rsize_t s1max, const char *restrict s2);</code>
|
|ISO/IEC WDTR 24731
|-
|<code>void *mempcpy(void *dest, const void *src, size_t n);</code>
|
|[[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>
|
|[[GNU]], [[POSIX]]
|-
|<code>size_t strlcpy(char *dest, const char *src, size_t n);</code>
|
|
|-
|<code>char *strtok_r(char *, const char *, char **);</code>
|versione thread-safe
|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]]
|}
==
{{interprogetto|b=C/Appendice/Librerie standard}}
==Collegamenti esterni==
[[en:string.h]]▼
* {{cita web|https://linux.die.net/man/3/string|Operazioni su stringhe|lingua=en}}
{{Portale|Informatica}}
[[Categoria:Libreria standard del C]]
|