//: C03:SmallString2.cpp
// Z knihy "Myslíme v jazyce C++, část 2" od Bruce Eckela a Chucka Allisona.
// (c) 1995-2004 MindView, Inc. Všechna práva vyhrazena.
// Přečtěte si podmínky používání zdrojových kódů umístěné v souboru 
// 'Licence.txt' dodávaném spolu s balíčkem kódu dostupným na www.MindView.net.
#include <string>
#include <iostream>
using namespace std;

int main() {
  string s1("Co asi zní jako jedno mlží zachrápání?");
  string s2("Kdo to dokázal udělat jednou, dokáže to znovu.");
  string s3("Viděl jsem UFO, které uneslo Elvise");
  // Zkopírovat prvních 7 znaků:
  string s4(s1, 0, 7);
  cout << s4 << endl;
  // Zkopírovat 8 znaků z prostředka:
  string s5(s2, 14, 8);
  cout << s5 << endl;
  // Zkopírovat z prostředka nakonec:
  string s6(s3, 11, 24);
  cout << s6 << endl;
  // Zkopírovat mnoho různých věcí:
  string citujMe = s4 + "může" +
  // substr() kopíruje 22 znaků od pozice 16
  s1.substr(15, 22) + s5 +
  // substr() kopíruje od pozice 10 
	// až sto znaků nebo vše do konce řetězce
  "s" + s3.substr(10, 100) +
  // Je v pořádku zkopírovat jeden znak tímto způsobem
  s1.substr(37, 1);
  cout << citujMe << endl;
} ///:~
