Ok početi ćemo od posljednjeg pitanja, dakle razlika između char podatkovnog tipa i stringa je u tome sto char predstavlja znak (karakter - character), od jednog znaka često nemamo ništa pa moramo alocirati niz takvih znakova ili statički ili tjekom izvođenja programa. Često postaje muka kada npr. zelimo niz znakova želimo kopirati neki niz znakova u neko drugo polje ili kada želimo odrediti veličinu niza moramo proći kroz čitav niz, te naravno ako dinamički alociramo prostor tada ga i moramo osloboditi, dakle
char je primitivni podatkovni tip koji pohranjuje jedan znak i zauzima 1byte prostora u memoriji. Bilo bi dobro da imamo neku vrstu alata koji će nam omogućiti da radimo sa nizom znakova bez da to radimo mi sami ručno (rad sa nizovima), kao što imamo u basicu (ltirm, rtirm, len...) to je upravo string.
String je zapravo klasa (mozda nisi upoznata sa objektno orjentiranim programiranjem ali vjerovatno si čula da je c++ objektno orjentiran) i kada stvaramo string mi zapravo stvaramo objekt, dakle string je klasa koja nam omogućava da radimo sa nizom znakova bez da se brinemo o brisanju niza i sl. za korpiranje stringa trebamo samo operator =. Evo da vise ne duljim da ti postavim ekvivalente za funkcije koje si nabrojala dakle:
QBASIC
C++
Code:
string s = "Nest, nest...";
s.length();
QBASIC
C++
Code:
string s = "nesto, nesto";
s.substr(int poc, int kraj);
Trim funkcije nisu dio standardne biblioteke pa ih sama morsa isprogramirati. Ovdje imas listu svihh member funkcija koje mozes koristiti nad string objektom
http://www.cplusplus.com/reference/string/string/
Sa ovim metodama mozes ostavariti i letrim i rtrim... Dakle razlika je u tome sto je zapravo string neka vrsta crne kutije sa kojom dobijes određene metode za rad sa poljem slova odnosno polja char tipa, nadam se da ce pomoci ako imas pitanja slobodno pitaj