Для динамического
объявления строк используются функции-конструкторы 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)- печать строки;