Sunteți pe pagina 1din 3

iruri de caractere

zona de procesare: castring=biblioteca care gestioneaza functii ce prelucreaza siruri de caractere



tipul de tablou: char s[dim];
char*sir;
s=vector cu maxim 10 000 de caractere
sir=sir cu o lungime variabila si in sir retin adresa de la inceput

-spatiu de memorie ocupat=sizeof(char)*dim=1*dim=dim
-structura omogeana=toate elementele sunt de acelasi tip=char
-s=numele taboului de caractere=adresa la care incepe sirul de caractere
-s[i]=caracterul de pe pozitia i, pot retine doar prin s tot sirul
-`a`=un caracter=>1 octet
-a=un sir de caractere=>retin 2 octeti, 1 octet pt a si un octet pt sfarsitul de sir
-`\0`=caracterul ce da sfarsitul de sir
-tip de dare special pentru sirurile de caractere size_t=unsigned short int
-sirul se initializeaza in pozitia 0

1. Citirea sirurilor de caractere
1.1 Tastatura
cin>>s; =citirea sirurilor pana la aparitia Space sau Enter
=Introduc:Ana are mere=>s=A;
cin.get(sir,dim);
=cin.get(s,10000); citirea pana la Enter
=introduce Ana are mere=>s=Ana are mere;
1.2 Fisier
f>>s;
f.get(s.dim);


2.Afisarea sirurilor de caractere
2.1 Monitor
cout<<s;
2.2 Fisier
g<<s;




FUNCTII CARE PRELUCREAZA SIRURI DE CARACTERE

1.Functii de copiere
char*strcpy(char*dest, const char*sursa);
char*strncopy(char*dest,const char*sursa, size_t lung);
- strcpy, strncpyn copiaza sirul in sursa(primul parametru) ,s irul destinate(al doilea
parametru),cele doua siruri vor fi identice la finalul apelului
- -strncpy copiaza in dest primele lung caractere din sirul sursa
Ex
char s[1000],d[1000];
s=informatica;
strcpy(d,s) =>d=nformatica
strncpy(d,s,4) =>d=info;

-Functia copiere poate fi folosita si pt stergerea caracterelor din sir
i n f o r m a t i c a
s+3 s+7
s

strcpy(s,s+i)=>se muta adresa la inceput peste i caractere =>efect=stergerea primelor i caractere
strcpy(s+i,s+j) j>i=>efect=eliminarea din sirul s a caracterelor de pe pozitiile i,i+1,i+2,,i+j-1
strcpy(s,s+5)=>s=matica
strcpy(s+3,s+7)=>s=inftica;
2.Functii de concatenare
char*strcat(char*dest, const char*sursa);
char*strncat(char*dest,const char*sursa, size_t lung);
Ex
char s[100],d[100];
strcpy(s,Cocos);
strcpy(d,Luca);
strcat(s,);
strcat(s,d); =>s=Cocos Luca;
3.Functii de comparare
= a comapara 2 siruri de caractere-ordine lexicografica(din dictionar);
-x si y=>exista o pozitie i astfel incat x[i]<y[i] (caractere comparate prin codul ASCII) si oricare
j<i=>x[j]=y[j];
int strcmp(const char*s1,const char*s2)
int strncmm(const char*s1,const char*s2, size_t lung)
int stricmp(const char*s1,cont char*s2)
int strnicpm(const char*s1,const char*s2,size_t_lung)

rezultat returnat
>0 s1>s2 lexicografic
<0 s1<s2
==0 s1==s2 identice

strcpm=compararea cu diferente intre litere mari si mici
strncmp=compararea pe primele lung caractere cu diferenta intre cele mari si mici
stricmp=strcmp fara a face diferenta intre litere mari si mici a=A
strnicmp=strncmp fara a afce diferenta intre litere mari si mici a=A

Ex
char s1[100],s2[100];
s1=abcdf;
s2=AbCD;

strcmp(s1,s2)>0 A=65 a=97
stricmp(s1,s2)>s0 s1 are mai multe caractere
strncmp(s1,s2,s3)>0
strnicmp(s1,s2,s3)==0

4.Functia d elungime a sirului de caractere
size_t strlen(const char*s)

S-ar putea să vă placă și

  • Curs 6 - CCR
    Curs 6 - CCR
    Document34 pagini
    Curs 6 - CCR
    Sabau Bogdan
    Încă nu există evaluări
  • Curs 12 - CCR
    Curs 12 - CCR
    Document28 pagini
    Curs 12 - CCR
    Sabau Bogdan
    Încă nu există evaluări
  • Curs 13 - CCR
    Curs 13 - CCR
    Document28 pagini
    Curs 13 - CCR
    Sabau Bogdan
    Încă nu există evaluări
  • Curs 8+9 CCR Tematica UPS
    Curs 8+9 CCR Tematica UPS
    Document49 pagini
    Curs 8+9 CCR Tematica UPS
    Sabau Bogdan
    Încă nu există evaluări
  • Curs 7 - CCR
    Curs 7 - CCR
    Document36 pagini
    Curs 7 - CCR
    Sabau Bogdan
    Încă nu există evaluări
  • Tipul Articol
    Tipul Articol
    Document3 pagini
    Tipul Articol
    Sabau Bogdan
    Încă nu există evaluări
  • Curs 11 - CCR
    Curs 11 - CCR
    Document27 pagini
    Curs 11 - CCR
    Sabau Bogdan
    Încă nu există evaluări
  • Curs 2 - CCR
    Curs 2 - CCR
    Document22 pagini
    Curs 2 - CCR
    Sabau Bogdan
    Încă nu există evaluări
  • Curs 4 - CCR
    Curs 4 - CCR
    Document31 pagini
    Curs 4 - CCR
    Sabau Bogdan
    Încă nu există evaluări
  • Curs 5 - CCR
    Curs 5 - CCR
    Document24 pagini
    Curs 5 - CCR
    Sabau Bogdan
    Încă nu există evaluări
  • Nervi
    Nervi
    Document3 pagini
    Nervi
    Sabau Bogdan
    Încă nu există evaluări
  • Curs 3 - CCR
    Curs 3 - CCR
    Document25 pagini
    Curs 3 - CCR
    Sabau Bogdan
    Încă nu există evaluări
  • Şiruri de Caractere
    Şiruri de Caractere
    Document3 pagini
    Şiruri de Caractere
    Sabau Bogdan
    Încă nu există evaluări
  • Final PB Practica
    Final PB Practica
    Document4 pagini
    Final PB Practica
    Downhill
    Încă nu există evaluări
  • Fisa de Autor Tudor Arghezi
    Fisa de Autor Tudor Arghezi
    Document10 pagini
    Fisa de Autor Tudor Arghezi
    Sabau Bogdan
    60% (5)
  • Limbajul C Retea
    Limbajul C Retea
    Document6 pagini
    Limbajul C Retea
    Sabau Bogdan
    Încă nu există evaluări
  • Fisa de Autor Tudor Arghezi
    Fisa de Autor Tudor Arghezi
    Document10 pagini
    Fisa de Autor Tudor Arghezi
    Sabau Bogdan
    60% (5)