Șiruri de caractere în C

Previzualizare curs:

Extras din curs:

Functia

cin.get (vector_de_caractere, int nr, char `n` ) citeste un sir de caractere pana cand este indeplinita una dintre conditiiile de mai jos:

- au fost citite nr-1 caractere;

- a fost intalnit caracterul transmis ca ultim parametru (implicit, “n” ).

Definitie

Numarul de ordine al unui octet in memoria interna se numeste adresa octetului respective.

Adresa unui vector de caractere este adresa primului sau octet.

• variabila de tipul char* poate retina adresa unui vector de caractere.

• In C++, numele unui vector de caractere este o adresa constanta de vector si poate fi atribuit unei variabile de tip char*.

Ex: #include<iostream.h>

main()

{ char a[]=”Exemplu”, *p;

p=a; cout<<p<<endl;

p++; cout<<p<<endl;

p++; cout<<p<<endl;

cout<<p[1]<<endl;

cout<<p-a ;

}

Functia strlen are rolul de a returna lungimea efectiva a unui sir (in calculul lungimii nu intra caracterul nul). Forma generala este:

size_t strlen(char*);

unde:

• size_t este un tip intreg, utilizat in adresa memoriei, definit in “string.h” (il putem privi ca pe tipul unsigned int);

• argumentul este de tip char* (adica o adresa catre un sir).

Ex: #include<iostream.h>

#include<string.h>

main()

{ char a[100];

cin.get (a,100);

cout<<”Sirul citit are ”<<strlen (a) <<” caractere”;}

Functia strcpy are forma generala: char * strcpy(char* dest , char* sursa); si are rol

de a copia sirul de adresa sursa la adresa dest. Copierea se termina dupa ce a fost copiat caracterul nul. Se returneaza adresa dest.

Ex: #include<iostream.h>

#include<string.h>

main()

{char a[100]=”un sir”, b[100]=”alt sir”;

strcpy (a,b);

cout<<a;}

Functia standard strcat are forma generala:

char* strcat (char* dest, char* sursa); si rolul de a adauga sirului de adresa dest sirul de adresa sursa. Sirul de adresa sursa ramane nemodificat. Aceasta operatie se numeste concatenare si nu este comutativa. Rezultatul este adresa sirului sursa, iar sirul va avea ca lungime suma lungimilor celor doua siruri care au fost concatenate.

Programul urmator tipareste “mama merge” :

#include<iostream.h>

#include<string.h>

main()

{ char a[20]=”mama”, b[100]=”merge”;

strcat (a,b) ;

cout<<a;

}

Functia strncat are forma generala:

char *strncat (char *dest, const char *sursa, size_t nr); si acelasi rol ca strcat cu deosebirea ca adauga sirului destinatie primii nr octeti ai sirului sursa. Adaugarea caracterelor se face inaintea caracterului nul. Functia returneaza adresa de inceput a sirului destinatie.

Functia strchr are forma generala:

Char* strchr(char *s, int c); si rolul de a cauta caracterul ‘c’ in sirul s.Cautarea se face de la stanga la dreapta. In cazul in care caracterul este gasit, functia intoarce adresa subsirului care incepe cu prima aparitie a caracterului citit si se termina cu caracterul nul al sirului in care se face cautarea. Altfel, intoarce o expresie de tip char* cu valoarea 0 ( adica o adresa vida de sir).

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Siruri de Caractere in C.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
7/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
6 pagini
Imagini extrase:
6 imagini
Nr cuvinte:
1 769 cuvinte
Nr caractere:
9 742 caractere
Marime:
18.38KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Limbaje de Programare
Predat:
la facultate
Materie:
Limbaje de Programare
Sus!