Łańcuchy znaków


Przykład obrazujący wczytywanie długich ciągów zanakowych. Z lewej strony przy długim ciągu program nie jest w stanie wyświetli wszystkiego. Z prawej strony zastosowane jest polecenie zapamiętujące wszystkie wprowadzane znaki. W ten sposób możemy wczytywa np. z pliku całe wiersze i dokonywac na nich działania.

#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
string napis;//deklaracja zmiennej łańcuchowej
cout<<"Podaj ciag znakow: ";
cin>>napis;//wczytanie dlugiego ciagu znakow
cout<<"\n"<<napis;
getch();//zatrzymanie z biblioteki conio.h
return
0;
}
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
string napis;//deklaracja zmiennej łańcuchowej
cout<<"Podaj ciag znakow: ";
getline(cin, napis);//wczytanie całej linijki
cout<<"\n"<< napis;
getch();//zatrzymanie z biblioteki conio.h
return
0;
}
Operacje na łańcuchu string napis = "zosia samosia";
(należy pamiętac, że numeracja zaczyna się od 0)
substr Zwraca podciąg danego łańcucha.         przykład: napis.substr(5, 7)  
				od 5 znaku zwraca 7 znaków: samosia

erase  Usuwa z danego łańcucha podciąg.        przykład: napis.erase(3, 7) 
				od 2 znaku usówa 7 znaków: zossia

insert Wstawia podciąg do danego ciągu.        przykład: napis.insert(5, "jest ")
				od 5 znaku wstawia dodatkowe: zosia jest samosia  

replace	Zastępuje określony podciąg innym.    przykład:napis.replace(0, 1, "Z") 
				w 0 znak wstawia za 1 zank 'Z':Zosia samosia

length	Zwraca długość łańcucha.	      przykład: napis.length()
				zwraca długoś ciągu: 13

find	Zwraca numer pozycji podciągu.        przykład: napis.find("z")
				zwraca na którym miescu jest litera: 0
Przykłady zastosowania:
1. Napisz program, który wczyta informację, a następnie wyświetli jej długość.
    #include <iostream>
    #include <conio.h>
    using namespace std;
    int main()
    {
    string napis;//deklaracja zmiennej łańcuchowej
    cout<<"Podaj ciag znakow: ";
    getline(cin, napis);//wczytanie całej linijki
    cout<<"Wprowadzono ciag dlugosci "<< napis.length()<<" znakow";
    getch();//zatrzymanie z biblioteki conio.h
    return
0;
    }

2. Odczytaj pierwszy, drugi i ostatni znak wprowadzonego z klawiatury łańcucha znaków.
    #include <iostream>
    #include <conio.h>
    using namespace std;
    int main()
    {
    string napis;//deklaracja zmiennej łańcuchowej
    cout<<"Podaj ciag znakow: ";
    getline(cin, napis);//wczytanie całej linijki
    cout << "Pierwszy znak lancucha to: " <<napis[0] << endl;//znaki odczytujem tak jak z tablicy podając numer
    cout << "Drugi znak lancucha to: " << napis[1] <<endl;
    cout << "Ostatni znak lancucha to: " << napis[napis.length()-1];
     getch();//zatrzymanie z biblioteki conio.h
    return
0;
    }
3. Wyświetl na ekranie znaki wprowadzonego łańcucha rozpoczynając od jego połowy.
    #include <iostream>
    #include <conio.h>
    using namespace std;
    int main()
    {
    string napis;//deklaracja zmiennej łańcuchowej
    cout<<"Podaj ciag znakow: ";
    getline(cin, napis);//wczytanie całej linijki
    cout<<napis.substr(napis.length()/2,napis.length());
    getch();//zatrzymanie z biblioteki conio.h
    return
0;
    }