String.h: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m WPCleaner v2.05 - Fixed using WP:WPCleaner (Errori comuni) |
|||
(22 versioni intermedie di 13 utenti non mostrate) | |||
Riga 3:
'''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==
Riga 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''.
|-
Riga 61:
|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''.
|-
Riga 86:
|-
|<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
|}
===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]]
|}
Line 93 ⟶ 131:
==Collegamenti esterni==
* {{
{{Portale|Informatica}}
|