0% found this document useful (0 votes)
43 views6 pages

Siruri de Caractere: Char Sir

The document summarizes strings (character arrays) in C. It discusses declaring and initializing character arrays, reading/writing strings, common string functions like length, copy, concatenate, compare, search, and case conversion. Examples are provided to demonstrate the use of standard string functions.

Uploaded by

drag0mir3scu
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views6 pages

Siruri de Caractere: Char Sir

The document summarizes strings (character arrays) in C. It discusses declaring and initializing character arrays, reading/writing strings, common string functions like length, copy, concatenate, compare, search, and case conversion. Examples are provided to demonstrate the use of standard string functions.

Uploaded by

drag0mir3scu
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 6

Siruri de caractere Sir de caractere Vector de caractere.

Declaratie :
char sir[20] ;

Observatie: 1. Terminatorul de sir: \0. 2. Terminatorul de sir permite testarea s !rsitului sirului de caractere. "itirea unui sir de caractere : # caracter cu caracter ca la vector de intre$i% # gets ,fgets, scanf . & isarea unui sir de caractere: # caracter cu caracter ca la vector de intre$i%
# puts, printf .

'(emplu:
#include <stdio.h> int main() { char nume[20]; char prenume[20]; printf("Introduceti numele scanf("!s""nume); ");

printf("Introduceti prenumele #ets(prenume);

");

printf("$n!s !s$n""prenume" nume); return 0; % #include <stdio.h> int main() { int n & '(; char ch; char str[)0]; printf("Introduceti caracterele sirului( 0 ' terminare) do { scanf("!c""*ch); if(ch && +0+) ,rea-; n..; str[n] & ch; %/hile((); str[n.(] & +$0+;

$n");

printf("0'a citit sirul return 0;

!s""str);

Functii standard utilizate la prelucrarea sirurilor de caractere(Tabel nr.1, Tabel nr.2) 1. )un$imea unui sir de caractere
#include <stdio.h> #include <strin#.h> int main() { char 1const p&"2cesta este un sir"; int n; n&strlen(p); printf("!d""n); char ta,[]&"2cesta este un sir"; n&strlen(ta,); printf("!d""n); n&strlen("2cesta este un sir"); printf("!d""n); return 0;

2. "opierea unui sir de caractere


#include <stdio.h> #include <strin#.h> int main() { char ta,[]&"2cest sir se copia3a"; char t[si3eof(ta,)]; strcp4(t"ta,); puts(t); char t([(00]; strcp4(t(""2cest sir se copia3a"); puts(t(); char 1p&"2cest sir se copia3a"; char t2[(00]; char 15; 5&strcp4(t2"p); puts(5);

return 0;

*. "oncatenarea sirurilor de caractere


#include <stdio.h> #include <strin#.h> int main() { char ta,([(00]&"6rimul"; char ta,2[]&"si al doilea"; strcat(ta,("" "); strcat(ta,("ta,2); puts(ta,(); return 0;

+. "ompararea sirurilor de caractere


#include <stdio.h> #include <strin#.h> int main() { char 1sir(&"278"; char 1sir2&"a,c"; int i & '2; int 9 & '2; i&strcmp(sir("sir2); 9&stricmp(sir("sir2); printf("strcmp(sir("sir2) printf("stricmp(sir("sir2) return 0;

!d$n""i); !d$n""9);

,. "-utarea aparitiilor unui caracter .ntr#un sir de caracatere


#include <stdio.h> #include <strin#.h> int main() { char sir[] & "2cesta este un sir"; char 1pch; printf ("8aracterul +s+ in $"!s$"...$n""sir); pch&strchr(sir"+s+); /hile (pch:&;<==) { printf ("!d$n""pch'sir.(); pch&strchr(pch.("+s+); % return 0; %

/. Trans orm-ri .ntre ma0uscule si minuscule


#include <stdio.h> #include <strin#.h> int main() { char sir[] & "2cesta este un sir"; printf("0irul initial !s$n""sir); printf("0irul modificat !s$n""strl/r(sir)); return 0; %

#include <stdio.h> #include <strin#.h>

1. Separarea unit-tilor le(icale dintr#un sir de caractere

int main() { char str[] &"' 2cesta" este un sir."; char 1 pch; pch & strto- (str"" ".'"); /hile (pch :& ;<==) { printf ("!s$n""pch); pch & strto- (;<==" " ".'"); % return 0; %

'(ercitii: 1. 2entru un sir de caractere citit de la tastatur-3 str3 se cere: # S- se determine num-rul de aparitii a unui caracter .n cadrul sirului% # S- se stear$- toate aparitiile unui subsir3 str13 din cadrul sirului% # S- se a ise4e num-rul de vocale si de consoane din str % # S- se veri ice dac- sirul str este un palindrom. 2. Se consider- dou- siruri de caractere citite de la tastatur-. S- se scrie un pro$ram care a isea4- toate cuvintele comune din cele dou- siruri citite. *. S- se a ise4e unul sub altul3 toate su i(ele proprii ale unui cuvant citit de la tastatura 5su i(ele unui cuvant sunt compuse din minim un caracter si ma(im toate caracterele3 citite de la dreapta la stan$a6. '(emplu : 2entru cuv!ntul limba03 se va a isa 0 a0 ba0 mba03 imba0

limba0. +. Se citesc de la mediul de intrare n cuvinte. S- se scrie un pro$ram care ordonea4cuvintele citite: # .n unctie de lun$imea acestora% # al abetic. ,. Se citste de la tastatur- un sir de caractere care contine mai multe cuvinte separate prin unul sau mai multe spatii. Se cere: # s- se a ise4e cuvintele sirului care nu .ncep si nu se terminc- cu ma0uscul-% # s- se a ise4e cuvinte sirului rotite cu k caractere% 7 se va citit de la tastatur-% # pentru un caracater ch citit de la tastatur-3 s- se sorte4e cresc-tor cuvintele a late pe po4itii pare .n unctie de num-rul de aparitii ale caracterului ch% primul cuv!nt se consider- cu inde(ul 0% # s- se corecte4e si s- se a ise4e cuvintele care contin 8$reseli8 % un cuv!nt este considerat $resit dac- acesta contine secvente de dou- sau mai multe caractere consecutive identice3 iar corectarea se va reali4a prin eliminarea surplusului de caractere identice.
int int int int int >unctie islo/er(char isupper(char isalpha(char isdi#it(char isspace(char c) c) c) c) c) ( ( ( ( ( daca daca daca daca daca c c c c c @ @ @ @ @ { { { { { ?aloare returnata AaB"..B3B% A2B"..BCB% AaB"..B3B%{ A2B"..BCB% A0B"..BDB% A B" A$nB" A$tB"B$rB"B$fB"B$EB%

Tabel nr.15 ct9pe.:6


>unctie char1 strcop4( char1 d" const char1 s) char1 strncop4( char1 d" const char1 s" int n) char1 strcat( char1 d" const char1 s) char1 strncat( char1 d" const char1 s" int n) int strcmp( const char1 d" const char1 s) ?aloare returnata 8opia3a sirul s in sirul d( inclusiEe terminatorul de sir); intoarce d 8opia3a n carcactere din s in sirul d( completand cu terminatorul de sir); intoarce d 8oncatenea3a sirul s la sirul d; intoarce d 8oncatenea3a cel mult n carcatere din sirul s la sirul d( completea3a cu A$0B); intoarce d 8ompara sirurile d si s '( d<s; 0 d&s; ( d>s; 8ompara sirurile d si s" fara a face diferente inre ma9uscule si minuscule 8ompara cel mult n caractere sirurile d si s( strcmp) 8auta carcaterul c in sirul d; intoarce un

int stricmp( const char1 d" const char1 s) int strncmp( const char1 d" const char1 s" int n) char1 strchr( const char1 d" char c)

char1 strrchr( const char1 d" char c)

char1 strstr( const char1 d" const char1 s)

pointer la prima aparitie a lui c in d sau ;<==; 8auta carcaterul c in sirul d; intoarce un pointer la ultima aparitie a lui c in d sau ;<==; Intoarce un pointer la prima aparitie a sunsirului s in d sau ;<==; Intoarce lun#imea sirului s; 8onEertese literele mari in litere mici in sirul s; 8onEertese literele mici in litere mari in sirul s; 8onEertese literele mari in litere mici in sirul s; 8opia3a sirul d intr'o noua locatie de memorie si intoarce un pointer catre acea locatie; 8auta in d su,sirurile delimitate de caracterele din s.

int strlen( const char 1 s) char1 strl/r(char1 s) char1 strupr(char1 s) char1 strl/r(char1 s) 8har 1strdup(const char 1d)

8har1 strto-( const char1 d" const char1 s)

Tabel nr.25 strin$.:6

You might also like