1.3.15 Динамическое объявление строк

      Для динамического объявления строк используются функции-конструкторы new, например в виде
Char *p = new char [m];
строки в динамической памяти инициализировать нельзя.
Char *str = “Never trouble” ; такое объявление создает указатель на строковую константу, изменить которую невозможно.
      Например: #include<iostream.h>
int main() {
const int n = 80;
char s[n ];
cin>>s;
cout<<s<<endl;
return 0; }
      Чтобы вывести всю строку, используют getline и get:
      На пример: #include<iostream.h>
int main() {
const int n = 80;
char s[n];
cin.getline(s,n); вариант-cin.get(s,n);
cout<<s<<endl;
return 0; }
      Метод getline считывает из входного потока (n-1) символ или менее, если символ перевода строки встречается раньше. Символ перевода строки также считывается и удаляется, не записывается в переменную; вместо него в переменную записывается 0. Если в строке исходных данных больше чем (n-1), то следующий ввод будет выполнен с той же строки, начиная с первого несчитанного символа.
Метод get работает аналогично, но оставляет в потоке символ перевода строки, т.е. нельзя дважды использовать get, не удалив символ.
      На пример: cin.get(s,n);
cout<<s<<endl;
cin.get(s,n); \\сюда нужно добавить cin.get();
cout<<s<<endl;
cin.get(s,n);
cout<<s<<endl;
cout<<”Ea”;
      Для ввода нескольких строк используется цикл:
while (cin.getline(s,n)) {
cout<<s<<endl; }
      Другой вариант- использование операторов языка С scanf(“%s”,s);
      Для ввода одного символа scanf(«%c»,s);
gets(s)- ввод строки;
puts(s)- печать строки;