• Acasă
  • Despre noi
  • Autori
  • Mărturii
  • Arhivă
  • Trimite Articol
  • Contact

WORLDIT

Lumea în 1 și 0.

  • Știri
    • Tehnologie
    • Tehnologie mobilă
    • Securitate
    • Developers
    • Știință
    • Benzi desenate
    • Jocuri
    • Intern
  • Tehnic
    • Browser
    • C#
    • C/C++
    • Challenge
    • HTML/CSS
    • Javascript, Ajax, jQuery
    • Open Source
    • PHP
    • Python
    • Securitate IT
    • Socializare
    • WordPress
    • Altele
  • Recenzii
  • Interviuri
  • Evenimente

Åžiruri de caractere [C]

4
  • Publicat de Coss
  • în C/C++
  • — 1 iul., 2009 at 4:59 pm
  • Ce este un sir de caractere?

Un sir de caractere este un tablou de caractere,al carui ultim element este caracterul NULL (“”).

  • Declararea unui si de caractere:

Un sir de caractere se delara astfel:

Tip_de_date nume_sir[dimensiune];
Unde:
–Tip_de_date: este tipul datei (obligatoriu char) ;
–Nume sir: este numele pe care il dam sirului ;
–Dimensiune: reprezinta numarul de caractere pe care il contine sirul .

Exemplu:

Char s[10];

Vom avea tabloul s, cu elemente de tip char,avand 10 elemente.

Citirea unui sir de caractere de la tastatura:
Pentru a citi un sir de caractere de la tastatura avem nevoie de functia gets() care se gaseste in libraria <stdio.h> .
Exemplu:

Printf(“Dati sirul : );
Gets(s);

  • Functii cu siruri de caractere:

Asupra sirurilor de caractere se pot efectua diferite “operatii”,sau mai bine spus,schimbari.
Toate functiile care prelucreaza sirurile de caractere se afla in biblioteca <string.h> .

  • 1) Strcpy()

Forma generala:
Strcpy(to,from)
Unde sirul from este copiat in sirul to.

Exemplu:

Strcpy(s1,s2);
Åžirul s2 va fi copiat in sirul s1.

2) Strcat()
Cu ajutorul acestei functii putem concatena (lipi) 2 siruri.
Forma generala:
Strcat(to,from);
Aceasta funcsie adauga continutul sirului from in sirul to.

Exemplu:
Strcat(s1,s2);
Continutul sirului s2 va fi adaugat peste cel al sirului s1.

3) Strcmp();
Aceasta functie compara continutul a 2 siruri in mod lexicografic.
Forma generala:

Strcmp(s1,s2);
Functia va intoarce :

-valoarea 0 daca cele 2 siruri sunt egale ;
-valoare pozitiva daca primul sir este mai mare decat al doilea ;
-valoare negativa daca primul sir este mai mic decat al doilea.

4) Strlen()
Cu ajutorul acestei functii putem afla lungimea unui sir.

Forma generala:
Strlen(s);
Exemplu:

I=strlen(s);
I va lua valoarea lungimii sirului s.

  • Exemple programe cu functii:1) Strcpy:
#include <stdio.h>
#include <string.h>
#include <conio.h>
Int main()
{
char v[100];
strcpy(v,"virusat");
printf("%s",v);
getch();
return 0;
}

Programul copie cuvantul “virusat” in sirul v.

strcpy

2) Strcat:

#include <stdio.h>
#include <string.h>
#include <conio.h>
Int main()
{
char v[100];
strcpy(v,"virusat ");
printf("%s\n",v);
strcat(v,"calculator");
printf("%s\n",v);
getch();
return 0;
}

Acest program concateneaza sirurile “virusat” si “calculator”.In final va aparea “ virusat calculator”.

strcat

3) Strcmp:

#include <stdio.h>
#include <string.h>
#include <conio.h>
Int main()
{
char s1[15],s2[16];
printf("Dati primul cuvant: ");
gets(s1);
printf("Dati al doilea cuvant: ");
gets(s2);
printf ("egalitate:%d",strcmp(s1,s2) );
getch();
return 0;
}

Programul compara sirurile s1 si s2. Pentru cuvintele “program” si “programato” rezultatul va fi -1,ceea ce inseamna ca “program” este mai mic din punct de vedere lexicografic decat “programato”.

strcmp

4) Strlen:

#include <stdio.h>
#include <string.h>
#include <conio.h>
Int main()
{
char s[15];
printf("Introduceti cuvantul: ");
gets(s);
printf("Cuvantul are %d caractere.",strlen(s) );
getch();
return 0;
}

strlen

  • Exercitii propuse:
  • 1) Cititi un sir de caractere de la tastatura,afisati lungimea acestuia si comparati-l cu sirul “copil”.Afisati rezultatul compararii si afisati un mesaj corespunzator.

    2) Scrieti un program care sa citeasca de la tasatura o propoztie.Intre cuvintele propozitiei se vor pune semne de exclamare,nu spatii.Inlocuiti semnele cu puncte si afisati din nou propozitia.

    3) Scrieti un program care sa compare 2 siruri de caractere,sa determine lungimea fiecaruia si sa concateneze cele 2 siruri.Afisati rezultatele obinute.
    4) Cititi de la tastaura un sir de caractere si verificati daca este identic cu sirul “soarece”.Afisati un mesaj corespunzator.

  • Proiect HANGMAN ( facut cu ajutorul lui Alex [dranaxum] )
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <conio.h>
int main()
{
char cuv[]="inteligent",s[]="..........",l;
int g=0,nr=0,n,j,p=0;
n=strlen(cuv);
printf("Joci spanzuratoarea: \n");
printf(s);
printf("\n");
do
{
printf("litera:\n");
l=getche();
printf("\n");
g=0;
nr++;
for (j=0;j<n;j++)
{
if (l==cuv[j])
{
s[j]=l;
g=1;
}
else p++;
}
if (!g)
{
printf("n-ai ghicit !\n");
printf("incercari gresite: %d\n",p/10);
}
printf(s);
printf("\n");
}
while ( (strcmp(s,cuv)) &&(nr<=15) );
if (!strcmp(s,cuv) ) printf("Bravo! Ai catigat !");
else printf("Ai pierdut...");
getch();
return 0;
}

Enjoy it ! 😀

Etichete: articolşirşiruri de caractereC++funcţiiimplementarestringtutorial

— Albulescu Cosmina a scris 223 articole

Nu există o descriere a autorului.

  • Articolul anterior Efectul psihologic al jocurilor
  • Articolul următor [OJI][IX]Cifra 4

4 Comentarii

  1. Avadanei Andrei spune:
    iulie 1, 2009 la 11:20 pm

    Foarte dragut Cosmina!Felicitari!

  2. Siruri de caractere si lucrul cu acestea in C/C++ - partea I | WorldIT spune:
    octombrie 26, 2009 la 4:11 pm

    […] Email. De asemenea ne poti urmari si pe Twitter. Powered by WP Greet BoxM-am gandit sa dezvolt un vechi articol scris de Cosmina, privind sirurile de caractere si sa prezint toate functiile de prelucrare a […]

  3. Soparla spune:
    ianuarie 27, 2010 la 1:59 am

    ” al carui ultim element este caracterul NULL (“”). ”
    Sigur nu e ultimul element backslash zero? Apropo,NULL..din cate stiam eu..nu e caracter.

  4. Challenge spune:
    ianuarie 27, 2010 la 4:58 pm

    ^ ” este echivalent cu NULL. Caracter poate sa fie orice, poti sa interpretezi cum vrei tu cele 256 de valori posibile dintr-o variabila pe 8 biti. Daca cauti pe google „ASCII code” ai sa vezi ca acolo sunt cuprinse mai multe caractere decat literele de la tastatura (caractere speciale(CR,LF,TAB), caractere grafice, etc.).


  • Facebook

    WorldIT.info
  • Ultimele Atacuri Cibernetice din Romania – RO Hacked

    [wp_rss_retriever url="https://rohacked.bit-sentinel.com/feed/" excerpt="none" items="5" read_more="false" new_window="true" thumbnail="false" cache="0"] RO Hacked este registrul atacurilor cibernetice din România.
  • Caută

  • Articole Recomandate

    • Recent Posts
    • Tags
    • Număr record de participanți la DefCamp 2015, cel mai important eveniment dedicat securității cibernetice din Europe Centrala si de Estdecembrie 2, 2015
    • La DefCamp 2015 vei afla prin ce tehnici pot fi evitate măsurile de securitate ale sistemelor informatice criticeoctombrie 16, 2015
    • Ultima sansa sa rezervi bilete de tip Early Bird la DefCamp 2015septembrie 1, 2015
    • 15 sfaturi despre cum poti deveni un programator bun venite de la specialisti romaniaugust 4, 2015
    • algoritmica Android antivirus Apple Avadanei Andrei benzi desenate BitDefender blog browser C++ Chrome concurs eveniment Facebook Firefox Google google chrome hacking html5 infografic informatica internet Internet Explorer IT javascript linux Microsoft Mozilla Firefox online PHP programare retea sociala review Romania securitate Tehnologie Twitter web Windows Windows 7 Wordpress WorldIT worldit.info Yahoo! YouTube
  • februarie 2023
    L Ma Mi J V S D
     12345
    6789101112
    13141516171819
    20212223242526
    2728  
    « dec.    
  • Link-uri Sponsorizate

    • laptop second hand

    • Calculatoare Second Hand

    • cod voucher pc garage

  • Home
  • Tehnic
  • C/C++
  • Åžiruri de caractere [C]
  • Important

    • Bit Sentinel
    • Centrul de Cercetare în Securitate Informatică din România
    • DefCamp
  • Prieteni

    • BetiT.ro
    • bijuterii handmade
    • Computerica | Resurse gratuite PC
    • Descopera.org
    • Gadgeturi si IT – Giz.ro
  • Prieteni

    • PC – Config
    • RO Hacked
    • Stiri IT

Copyright © 2009-2014 WORLDIT. Toate drepturile Rezervate.
Termeni și condiții | Contact | Licența Creative Commons