oktatas:programozas:cpp:cpp_string
Tartalomjegyzék
Cpp String
- Szerző: Sallai András
- Copyright © Sallai András, 2011
- Web: https://szit.hu
Konstruktor
Paraméter nélkül
#include <iostream> using namespace std; int main() { string str; str = "szilva"; cout << str << endl; return 0; }
Konstruktor használata
#include <iostream> using namespace std; int main() { string str("szilva"); cout << str << endl; return 0; }
Másolat
#include <iostream> using namespace std; int main() { string str1 = "szilva"; string str2(str1); cout << str2 << endl; return 0; }
Adott pozíciótól
A következő példában az str1 változóból csak a 3-dik (2-es index) karaktertől másolunk.
#include <iostream> using namespace std; int main() { string str1 = "szilva"; string str2(str1, 2); cout << str2 << endl; return 0; }
Képernyőre így a következő szó kerül:
ilva
Adott karakterszám
#include <iostream> using namespace std; int main() { string str1 = "szilva"; string str2(str1, 2, 3); cout << str2 << endl; return 0; }
Egy karakter többször
#include <iostream> using namespace std; int main() { string str(10, '*'); cout << str << endl; return 0; }
10 darab csillag karaktert tartalmaz az str változó.
Iterátorok használata
#include <iostream> using namespace std; int main() { string str1 = "szilva"; string str2(str1.begin(), str1.end() - 2); cout << str2 << endl; return 0; }
A program a következőt írja a képernyőre:
szil
Értékadás
#include <iostream> using namespace std; int main() { string str = "szilva"; cout << str << endl; return 0; }
getline
Végjel
#include <iostream> using namespace std; int main() { string str; getline(cin, str, '$'); cout << str << endl; return 0; }
Fájl olvasása
#include <iostream> #include <fstream> #include <vector> #include <string> #include <iterator> using namespace std; int main() { string str; ifstream f("adat.txt"); vector<string> v; cout << "Adatok olvasása fájlból" << endl; while(!f.eof()) { getline(f, str); v.push_back(str); } copy(v.begin(), v.end(), ostream_iterator<string>(cout, "\n")); cout << endl; return 0; }
Operátorok
<<, >> operátorok
#include <iostream> using namespace std; int main() { string str; cout << "Szöveg: "; cin >> str; cout << "Ezt írtad: " << str << endl; cout << "Írj be szöveget " << "(Ctrl + D a kilépéshez)"; while(cin >> str) { cout << endl; cout << "Valami" << endl; cout << "Írj be szöveget " << "(Ctrl + D a kilépéshez) "; } return 0; }
=, +=, + operátorok
#include <iostream> using namespace std; int main() { string str("szilva"); string s = str + "barack"; cout << s << endl; str += ","; cout << str << endl; char ch = '!'; s += ch; cout << s << endl; return 0; }
Hozzáfűzés
#include <iostream> using namespace std; int main() { string str1 = ""; string str2 = "szilva"; char *str3 =(char*) "abcd"; str1.append(3, '*'); //három csillagot fűzünk fel str1.append(str2, 0, 3); //0-diktól 3-at str1.append(str3, 2); string::iterator it1 = str2.begin()+2; string::iterator it2 = str2.end(); str1.append(it1, it2); cout << str1 << endl; return 0; }
Csere
Az assign metódus lecseréli az aktuális tartalmat a paraméterben megadottra.
#include <iostream> using namespace std; int main() { string str1 = "barack"; string str2 = "szilvaalma"; str1.assign(str2, 2, 3); cout << str1 << endl; return 0; }
Karakter visszanyerése
#include <iostream> using namespace std; int main() { string str = "szilva"; cout << str.at(2) << endl; return 0; }
Linkek
oktatas/programozas/cpp/cpp_string.txt · Utolsó módosítás: 2021/05/25 23:27 szerkesztette: admin