Appunti sulle Stringhe
Transcript
Appunti sulle Stringhe
Stringhe in C /C++ Equivalenza stringhe/Vettore di caratteri getline at Terminazione di una stringa Concatenazione di una stringa Auto +mobile=Automobile Esercizi sulle stringhe Carattere di terminazione di una stringa \0 char parola[50]; A u t o m o b i l e \0 0 1 2 3 4 5 6 7 8 9 10 parola[10]=’\0’; parola=”Automobile”; // in C #include <string.h> //in C++ #include <string> // Contare le lettere a in una stringa (vettore di // caratteri alla C main () { char parola[50]=”casolare”; int cont=0; char da=’a’; int i=0; while ( parola[i]!=’\0’) { if (parola[i]==da) cont++; i++; } cout<<” Trovate “<< cont << “ occorenze di a”<<endl; } Provare a variare leggendo il carattere e la parola da tastiera e stampando la lunghezza della parola #include <string> main () { string parola; parola=”casa”; string nome; cout “Quale nome “<<endl; cin>>parola; } Metodi della stringa length // lunghezza di una stringa cout << parola.length(); empty // restituisce true se la stringa vuota // concatenazione si fa col + string prima, seconda, terza; prima=”auto”; seconda=”mobile”; terza=prima+seconda; // automobile // charAt di Java corrisponde at // Contare le lettere a in una stringa (vettore di // caratteri alla C++ parola[i] -> parola.at(i) main () { string parola=”casolare”; // cin>>parola; char da=’a’; int i=0, cont=0; while (i<parola.length()){ // parola.at(i)!=’\0’ if (parola.at(i)==da) cont++; i++; } cout<<” Trovate “<< cont << “ occorenze di a”<<endl; } // Lettura di una stringa cin>> parola; // legge fino al primo spazio cin.getline (titoloLibro,50); lunghezza massima cin.getline (titoloLibro,50,’*’); carattere fine stringa ciao // legg. con cin ciao a tutti // legg. con cin.getline Altri metodi insert find replace substr string parola=”Paolo Rossi” insert(int startpos, string s) parola.insert (6,”Francesco “); cout<<parola; // Paolo Francesco Rossi string parola=”Paolo Rossi” substr(int start, int num) string nome=parola.substr (0,5); cout<<nome; // Paolo string nome=parola.substr(6,5); cout <<nome; // Rossi replace(int start, int num, string s) string parola=”Paolo Rossi”; parola.replace (0,5,”Marco”); cout<<parola; // Marco Rossi find(string s, int startSearch) string frase=”La mia casa è vicina alla tua casa”; int x=frase.find(”casa”,0); cout<<x; // 7 int y=frase.find(”casa”,10); cout<<y; // 31 if (y==-1) cout<< ”Parola non trovata”<<endl; // Contare quante volte la parola casa è presente // in una frase #include <iostream> #include <string> using namespace std; int main() { // la funzione getline vuole un array stile C che //poi può essere assegnato ad una stringa char frasechar[100]; string frase; string parola=”casa”; cout<<”Inserisci una frase “<<endl; cin.getline(frasechar,100); frase=frasechar; int cont=0; int x; x=frase.find(parola,0); while (x!=-1){ cont++; x=frase.find (parola,x+parola.length()); } cout<<”Trovate “<<cont <<“ occ. della parola casa”<<endl; return 0; }