Skip to main content
Remove advertising and get 10 GB! of disk space for only $9.95 USD per month or $109.95 USD per year (plus local taxes).

string - u C, C++, C# - sličnosti i razlike

Completion requirements

U jeziku C

String je niz karaktera (slova) koji se završava sa null karakterom ('\0')

char str[7];

a može im se dodeliti vrednost na dva načina:

  • char str[7] = {'Z', 'd', 'r', 'a', 'v', 'o', '\0'}; - poslednji element mora biti null karakter
  • char str[7] = "Zdravo"; - string je niz karaktera u dvostrukim navodnicima, kod ovog slučaja kompajler će napraviti niz od 7 karaktera, od kojih će prvih 6 biti popunjeno vidljivim karakterima koji su dodeljeni stringu, a na poslednje mesto će se postaviti null karakter.

Ovde možemo primetiti da je veličina niza jednaka dužini stringa plus jedan.

Kao i svakom nizu i stringu se može dodeliti vrednost pojedinačnog elementa po indeksu (ili pročitati), na primer

str[1] = 'a'

Ispis i učitavanje stringova:

Da bismo ispisali string, kristimo printf sa specijalnim kontrolnim znakom %s:

  printf("s",str);

Da bismo učitali string koristimo scanf, takođe sa %s

  scanf("%s",str);

Biblioteka za rad sa stringovima:  

Skoro sve ostale funkcije za rad sa stringovima se nalaze u biblioteci string.hNeke od najčešće korišćenih funkcija su:

strcpy(d,s);    // kopira string s u string d
strcat(d,s); // nadovezuje string s na string d
strchr(s,c); // vraća pokazivać na prvu pojavu znaka c u stringu s,
strrchr(s,c) // vraća pokazivač na poslednju pojavu znaka c u stringu s
strlen(s); // vraća dužinu stringa s
strstr(s,t); // vraća pokazivač na prvu pojavu stringa t u stringu s

Spoljašnji linkovi:



U jeziku C++

Info:  Bilo koju C biblioteku možete koristiti u C++ (na primer, ako je u C jeziku stdio.h, u C++ će se koristiti cstdio)

 

Ispis i učitavanje stringova:

Da bismo ispisali string, kristimo cout :

  cout<<str

Da bismo učitali string koristimo cin, ali samo ako se učitava samo jedna reč, jer se ovde učitava do prvog razmaka ili prelaska u naredni red:

  cin>>str

Ako treba da se učita ceo red u kojem ima i razmaka koristimo getline:

  getline(cin, str);  

Za rad sa stringovima je najlakše da se koristi klasa string, pa se na početku ubacuje:

 #include <string> 

Sada se spajanje stringova može izvesti samo korišćenjem znaka +.

string fullName = firstName + " " + lastName;

Pošto se ovde koristi klasa string, nisu funkcije, već metode koje se koriste tako što se navede naziv stringa, stavi tačka, pa zatim naziv metode i zagrade u kojima mogu da se nalaze i parametri u zavisnosti od metode.

Na primer, ako se traži dužina stringa:

int duzina = str.length();  // dužina stringa

Neke od najčešće korišćenoh metoda za rad sa stringovima:
 
  • length()/size(): Vraća broj karaktera.
str.length()  //vraća dužinu stringa str
str.size() // radi isto
  • empty(): Proverava da li je string prazan.
str.empty()  // vraća true ako je string str prazan
  • operator + (Concatenation): Spajanje stringova (npr., s1 + s2).
str = "Pera" + " " + "Kojot"  // spajanje stringova
  • append(): Dodavanje na kraj (npr., s1.append("svet")).
  • insert(): Umetanje na određenu poziciju.
str.insert(x,str2) // umeće kopiju str2 počev od pozicije x
str.insert(x,n,'z') // umeće slovo 'z' n puta, počev od pozicije x
  • find(): Traženje pozicije podstringa ili slova u stringu (vraća poziciju ili std::string::npos).
str.find('z') // vraća poziciju prvog pojavljivanja slova 'z' u stringu str, gledano od početka stringa
string s = "banana";
size_t pos = s.find('a');   // → 1

str.find('z',x) // vraća prvu poziciju počev od pozicije x na kojoj se znak 'z' nalazi u str

size_t pos = s.find('a', 3);   // → 3

str.find(str2,x) // vraća prvu poziciju počev od pozicije x gde se string str2 nalazi u str
str.find(str2) // vraća poziciju prvog pojavljivanja posdtringa str2 u stringu str, gledano od početka stringa str
  • rfind(): Traženje pozicije poslednjeg pojavljivanja podstringa ili slova u stringu 
    string s = "banana";
    size_t pos = s.rfind('a'); // 5 (poslednje 'a')
    size_t pos2 = s.rfind('a', 4); // 3 (traži poslednje 'a' ali samo pre pozicije 4 (uključujući 4))

  • substr(): Izdvajanje podstringa.
str.substr(pocetak,duzina) // izdvajanje podstringa dužine duzina od pozicije pocetak
// (voditi računa da je redni broj početne pozicije u stringu 0)
  • replace(): Zamena dela stringa.
str.replace(x,n,str2) // zamenjuje n znakova u str počev od pozicije x znakovima iz string objekta str2
  • clear(): Brisanje sadržaja stringa.
  • << (cout) & >> (cin): Ispis i unos stringova.

Spoljašnji linkovi:



U jeziku C#

Ovde ima baš dosta metoda za rad sa stringom: dužina, podstring, obrtanje stringa, ...

Unos i ispis

U C# string se može uneti sa tastature koristeći Console.ReadLine()

Console.Write() ili Console.WriteLine() – ispis na ekran.

Primeri nekih metoda

s.Length;  // dužina stringa

char c = s[0];  // pristup slovu

string t = s + " world"; // spajanje stringova

s.IndexOf("lo");     // vraća poziciju podstringa "lo" ili -1 ako ga ne nađe

int poz = s.IndexOf('a', 3); // traži 'a' počevši od indeksa 3


s.LastIndexOf('l');  // traži poslednje pojavljivanje slova

int poz = s.LastIndexOf('a', 13); // traži poslednje pojavljivanje slova 'a' ako se kao kraj računa  indeks  13

Spoljašnji izvori:

Last modified: Thursday, 11 December 2025, 2:15 PM