Determinarea lungimii liniilor

Foarte des atunci când se lucrează cu siruri de caractere trebuie să știe câte caractere conține șirul. Pentru a clarifica informații despre lungimea șirului în string.h fișierul header descris funcția strlen (). Sintaxa acestei funcții este următoarea:

size_t strlen (* string const char)

Funcția ca unic parametru primeste un pointer la începutul liniilor șir, calculează numărul de întreg fără semn primit și returnează șirul de caractere (size_t). sizeof () returnează o valoare mai mică decât unul este dat de o matrice din cauza spațiului de rezervă pentru caracterul „\ 0“. Următorul fragment demonstrează utilizarea funcției strlen ():

char Str [] = "ABCDEFGHIJK";

unsigned int i; i = strlen (Str);

Funcția Adesea sizeof () utilizate în liniile de intrare ca parametru cin.getline doilea desen (), care

Valorile șirurilor pot fi copiate de la unul la altul. În acest scop, un număr de funcții standard descrise mai jos.

Funcția strcpy () are prototipul;

char * strcpy (char * strl, const char * str2)

De exemplu, codul de următoarele copii valoarea liniei șirul str „Copiere test“:

strcpy (Str, "test de rezervă";

char strl [20] = "verificare de rezervă";

// PTR acum spre

Funcția strncpy () este diferită de strcpy () subiecte. în setarea ei adaugă un alt argument care specifică numărul de caractere, care nu vor mai fi copiate. Sintaxa sa este următoarea:

char * strncpy (char * strl, const char * str2,

În cazul în care lungimea este mai mică decât strl str2 lungime, caractere tăiate are loc:

char cLong [] = "012345678901234567890123456789";

strncpy (cShort, cLong, 4);

cout «cShort« '\ n';

Rezultatul va fi afișat:

Aceasta este, de la linia de coarde cShort cLong în primele patru simbol copiat blocat valoarea inițială începe astfel un scurt șir de caractere.

strdup () funcționează ca un parametru primeste un pointer la linia de sursă, efectuează alocarea de memorie, copierea în zonele desemnate ale unui șir de caractere și returnează un pointer la începutul copiei liniei primite. Sintaxa sa este următoarea:

char * strdup (const char * sursa)

char * strl = "Procedura nu a fost găsit";

Concatenarea (sau aderarea) linii este adesea folosit pentru formarea unui nou șir de caractere. Pentru această operațiune, biblioteca standard oferă strcat () și strncat ().

Funcția strcat () are următoarea sintaxă:

char * strcat (char * strl, const char * str2)

Ca urmare, funcția de lucru a conținutului șirul indicat de str2, se alătură conținutul șirului de referință de strl. Returnează un pointer funcție de puncte strl la șirul rezultat. Valoarea matrice strl șir ar trebui să fie suficientă pentru a stoca un șir de caractere combinate.

În exemplul următor, str șir este inițializat cu o copie strcpy () și este completat de un subșir folosind funcția strcat ():

strcpy (str, "pentru a continua");

strcat (str, "presa");

Funcția strncatO efectuează, de asemenea string concatenare, dar se conectează doar al treilea număr parametru specificat de caractere (întreg fără semn):

char * strncat (char * strl, const char * str2, size_t num)

Funcția returnează un pointer la începutul liniei formate strl. Exemplul următor efectuează concatenare șir strl primele șapte caractere ale str2 subșir:

char strl [90] = "Pentru a continua"; char str2 [30] = "Press"; strncat (strl, str2,7); cout «strl;

Ca rezultat, va fi afișată linia: „Apăsați pentru a continua.“

articole similare