șir.h

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Biblioteca standard C ++
Biblioteca standard a C

string.h este „ fișierele antet ale bibliotecii standard C care conține definiții macro, constante și funcții și tipuri de instrucțiuni utilizate nu numai în manipularea șirurilor, ci și în manipularea memoriei.

Funcțiile declarate în string.h sunt foarte populare și fac parte din biblioteca C standard, funcționarea lor este garantată pe orice platformă care acceptă limbajul C, totuși, există anumite probleme de siguranță cu aceste funcții, cum ar fi problemele de depășire a bufferului , conducând programatorii să aleagă cea mai sigură variantă, dar mai puțin portabilă. În plus, funcțiile în cauză funcționează numai cu caractere ASCII sau un set de caractere care se extinde atât de compatibil ca „ ISO 8859-1 . Gestionarea șirurilor necompatibile cu ASCII este de obicei rezolvată prin utilizarea bibliotecii wchar.h .

Constantele și tipurile

Nume Descriere
NULL O macro care reprezintă indicatorul constant constant; cu alte cuvinte, o constantă care reprezintă o valoare care este garantată a fi adresa unei locații nevalide din memorie.
size_t Un număr întreg nesemnat a returnat sizeof operatorului.

Funcții

Nume Descriere
void *memcpy(void *dest, const void *src, size_t n); Copiați n octeți între două zone de memorie care nu trebuie să se suprapună.
void *memmove(void *dest, const void *src, size_t n); Copiați n octeți între două zone de memorie; spre deosebire de memcpy , zonele de memorie se pot suprapune.
void *memchr(const void *s, int c, size_t n); Întoarceți un pointer la prima apariție a lui c în s sau NULL dacă nu printre primele n caractere ale lui s.
int memcmp(const void *s1, const void *s2, size_t n); Comparați primele n caractere ale s1 și s2.
void *memset(void *s, int c, size_t n); Plasați c în primele n caractere ale s.
char *strcat(char *dest, const char *src); Concatenează șir src la dest.
char *strncat(char *dest, const char *src, size_t n); Concatenează cel mult n caractere src la dest șir.
char *strchr(const char *s, int c); Revine un pointer la prima apariție a lui c în s.
char *strrchr(const char *s, int c); Revine un pointer la ultima apariție a lui c în s.
int strcmp(const char *s1, const char *s2); Compară șirul s1 cu s2.
int strncmp(const char *, const char *, size_t); Comparați cel mult n caractere ale șirului s1 cu s2.
int strcoll(const char *, const char *); Comparați două șiruri folosind „ ordinea lexicografică determinată de locația utilizată
char * strcpy (char *s1, const char *s2); Copiați șirul s2 în șirul s1, inclusiv caracterul \ 0 care se termină.
char *strncpy(char *s1, const char *s2, size_t n); Copiază cel mult n caractere ale șirului s2 în s1.
char *strerror(int n); Returnează un pointer la șirul corespunzător erorii n.
size_t strlen(const char *s); Returnează lungimea șirului .
size_t strspn(const char *s, const char *accept); Întoarcere lungimea primei instanțe a șirului s , cu o lungime maximă de caractere definite exact din șirul accepta
size_t strcspn(const char *s, const char *reject); Returnează lungimea porțiunii inițiale a șirului s , cu o lungime maximă de exact altele decât caracterele resping șir
char *strpbrk(const char *s, const char *accept); Returnează prima apariție a unui caracter din șirul s care este egal cu orice caracter din acceptul șirului
char *strstr(const char *haystack, const char *needle); Găsiți prima apariție a acului de sfoară în șirul de fân
char *strtok(char *s, const char *delimiters); Împarte șirul s într-o serie de șiruri de apeluri [token] la delimitatorul de caractere delimitator
size_t strxfrm(char *dest, const char *src, size_t n); Transformă șirul indicat de src în funcție de locația în utilizare ee copia primelor n caractere ale src în dest șir

Extensii pentru ISO C

Nume Descriere Specific
char *strdup(const char *); alocă și dublează un șir în memorie POSIX ; inițial o extensie a BSD
errno_t strcpy_s(char *restrict s1, rsize_t s1max, const char *restrict s2); varianta de strcpy care include controale pe lungimea șirurilor ISO / IEC WDTR 24731
void *mempcpy(void *dest, const void *src, size_t n); varianta memcpy care returnează un pointer la următorul octet la ultimul octet scris WILDEBEEST
void *memccpy(void *dest, const void *src, int c, size_t n); copiază până la n octeți între două zone de memorie care nu se suprapun, oprindu-se când este găsit octetul c UNIX 98?
int *strerror_r(int, char *, size_t); Returnează o reprezentare în șir a unui număr de eroare (a se vedea errno ) (thread-safe; unele diferențe semantice între GNU specific și XSI / POSIX ) GNU , POSIX
size_t strlcpy(char *dest, const char *src, size_t n); varianta de strcpy care include controale pe lungimea șirului inițial OpenBSD acum și FreeBSD ,Solaris , OS X
char *strtok_r(char *, const char *, char **); versiunea thread-safe a strtok POSIX
char * strsignal (int sig); în mod analog strerror , returnează o reprezentare șir a semnalului sig (nu este sigur pentru fir) diferite distribuții BSD,Solaris , Linux

Alte proiecte

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT