Головна‎ > ‎C++‎ > ‎

Операції з рядками

#include <string>     // обов'язково

string a = "Hello Bill Gates.";

a.length() 
           // 17 
a.size()              // 17 
tolower()             // hello bill gates.
toupper()             // HELLO BILL GATES.
a.find("Bill")        // 6, -1 не знайшов, інколи 4294967295
a.find("Bill", 4    // 6, пошук з позиції 4
a.rfind("Bill")       // 6 шукає з кінця, позиція як з початку
a.substr(6, 4)        // Bill (позиція, скільки символів залишити)
a.insert(6, "Big ")   // Hello Big Bill Gates. (позиція, рядок)
a.erase()             // ""
a.erase(6, 5)         // Hello Gates.
a[0]                  // H (char)
a[0'Z'            // Zello Bill Jobs.
a.at(0)               // H (char)
a.at(0) 'Z'         // Zello Bill Jobs.
a.replace(11, 5, "Jobs")         // Hello Bill Jobs. В кінці рядка теж вставляє
a.replace(a.find("Gates"), sizeof("Gates") - 1, "Jobs") // Hello Bill Jobs.
int capital = 100000000000;
string b = "Bill" + to_string(capital) + "$";



string a = "abcdef"
string b"123456"
a + " " + b;                // "abcdef 123456"
bto_string(7);           // "1234567
a.append(b)                 // "abcdef123456"
a.append(b, 3, 1)           // "abcdef4"
a.assign(b                // "123456"
a.assign(b, 3);             // "456"
a.assign(b, 3, 1);          // "4"
a.insert(3, b, 1, 3)        // "abc234def"
a.replace(3, 1, b)          // "abc123456ef" 
a.replace(3, 1, b, 2, 3)    // "abc123456ef"



string name;
cin >> name;           // "Taras Shevchenko"
cout << name;          // "Taras"
getline(cin, name);    // "Taras Shevchenko"
cout << name;          // "Taras Shevchenko"


string s1 = "012345";
cout << (s1 == "012345");    // 1
s1.compare("345")            // -1
s1.compare("012345")         // 0 
s1.compare("0123456789")     // 1


toupper('a')           // 65 (A)
(char)toupper('a')     // A
(char)tolower('A')     // a
char c = 'a';
isupper(с)             // 0
islower(c)
             // 1
isalnum(с)             // мала літера - 2, велика літера - 1, цифра - 4


char* b = "retejo.info"
string(b);             // у рядок string
"abc".c_str()          // у рядок (char*)


strlen(a.c_str())     // довжина рядка до символу \0

s1 = "abcd"
s2 = "tak"
b = s1 > s2;     // 0  (але s1.length() > s2.length() = 1 (ture))
b = s1 < s2;     // 1  (порівнює букви по абетці)

string a = "ok1";
string b = "ok2";
cout << (a == b);   // 0
cout << (a != b);   // 1
cout << (a > b);    // 0
cout << (a < b);    // 1




Керуючі символи
  • \n – перехід на новий рядок
  • \t – горизонтальна табуляція
  • \v – вертикальна табуляція
  • \b – повернення назад на один символ
  • \r – повернення на початок рядка
  • \a – звуковий сигнал
  • \” – лапки
  • \? – знак питання
  • \\ – зворотний слеш