#include <cstdio>
#include <string>
#include <iostream>
using namespace std;
const char *tmp = "efg";
int main() {
string s1 = "abc"; // можно скопировать char*
string s2 = string(tmp); // можно создать string(char*)
string s;
cin >> s; // считали строку до пробела, длина произвольна, память выделится при чтении
getline(cin, s); // считали строку до перевода строки
cout << s << endl;
printf("%s\n", s.c_str()); // string -> char*
printf("length = %d\n", (int)s.size());
for (char c : s) { // перебрать символы, способ #1
printf("char = %c\n", c);
}
for (int i = 0; i < (int)s.size(); i++)
; // перебрать символы, способ #2
string t = s.substr(2, 3); // подстрока [2,2+3)
cout << t << endl;
}