функция getline () и массив символов
Предварительное условие: getline (строка) в C ++
В C ++ классы потоков поддерживают строчно-ориентированные функции, getline () и write () для выполнения функций ввода и вывода соответственно. Функция getline () считывает всю строку текста, которая заканчивается новой строкой или до тех пор, пока не будет достигнут максимальный предел. getline () является функцией-членом класса istream и имеет синтаксис:
// (буфер, размер_потока, разделитель) istream и getline (char *, int size, char = ' n') // Символ-разделитель рассматривается как ' n' istream и getline (символ *, размер целого числа)
Функция выполняет следующие операции:
1. Извлекает символ до разделителя.
2. Сохраняет символы в буфере.
3. Максимальное количество извлекаемых символов size - 1.
Обратите внимание, что символ терминатора (или разделителя) может быть любым символом (например, '', ',' или любым специальным символом и т. Д.). Знак терминатора читается, но не сохраняется в буфере, вместо этого он заменяется нулевым символом .
// C++ program to show the getline() with // character array #include <iostream> using namespace std; int main() { char str[20]; cout << "Enter Your Name::" ; // see the use of getline() with array // str also replace the above statement // by cin >> str and see the difference // in output cin.getline(str, 20); cout << "
Your Name is:: " << str; return 0; } |
Вход :
Адитья Рахеча
Выход :
Ваше имя: Адитья Рахеча.
В приведенной выше программе оператор cin.getline (str, 20) считывает строку, пока не встретит символ новой строки или максимальное количество символов (здесь 20). Попробуйте использовать функцию с разными ограничениями и посмотрите результат.