C++ getline() це стандартна функція бібліотеки, яка використовується для читання рядка або рядка з вхідного потоку. Це частина заголовок . Функція getline() витягує символи з вхідного потоку та додає їх до рядкового об’єкта, доки не зустрінеться символ-розмежувач. При цьому попередньо збережене значення в рядковому об’єкті вул буде замінено вхідним рядком, якщо такий є.
Функцію getline() можна представити двома способами:
Синтаксис:
java читає файл csv
istream& getline(istream& is, string& str, char delim);>
2. Параметри:
- це: Це об’єкт класу istream і повідомляє функції про потік, звідки читати вхідні дані.
- str: Це рядковий об’єкт, вхідні дані зберігаються в цьому об’єкті після зчитування з потоку.
- поділитися: Це символ розмежування, який повідомляє функції припинити читання подальшого введення після досягнення цього символу.
приклад: Щоб продемонструвати використання роздільника в getline() функція.
C++
#include> #include> using> namespace> std;> //macro definitions> #define MAX_NAME_LEN 60 // Maximum len of your name can't be more than 60> #define MAX_ADDRESS_LEN 120 // Maximum len of your address can't be more than 120> #define MAX_ABOUT_LEN 250 // Maximum len of your profession can't be more than 250> int> main () {> >char> y_name[MAX_NAME_LEN], y_address[MAX_ADDRESS_LEN], about_y[MAX_ABOUT_LEN];> >cout <<>'Enter your name: '>;> >cin.getline (y_name, MAX_NAME_LEN);> >cout <<>'Enter your City: '>;> >cin.getline (y_address, MAX_ADDRESS_LEN);> >cout <<>'Enter your profession (press $ to complete): '>;> >cin.getline (about_y, MAX_ABOUT_LEN,>'$'>);>//$ is a delimiter> >cout <<>'
Entered details are:
'><<>'
'>;> >cout <<>'Name: '> << y_name << endl;> >cout <<>'Address: '> << y_address << endl;> >cout <<>'Profession is: '> << about_y << endl;> }> |
>
>
Вихід:

Вихід
Примітка: У наведеному вище прикладі, якщо #define MAX_NAME_LEN 6, Тож у цьому випадку, якщо ви перетнете визначену межу , в цьому випадку, ваша програма припинить виконання та вийде з неї застосовно для кожного макросу, який ви використовували з функцією getline(). І ви будете отримати в вихід, як показано нижче:
C++
#include> #include> using> namespace> std;> //macro definitions> #define MAX_NAME_LEN 6 // Maximum length of your name can't be more than 6> #define MAX_ADDRESS_LEN 120 // Maximum length of your address can't be more than 120> #define MAX_ABOUT_LEN 250 // Maximum length of your profession can't be more than 250> int> main () {> >char> y_name[MAX_NAME_LEN], y_address[MAX_ADDRESS_LEN], about_y[MAX_ABOUT_LEN];> >cout <<>'Enter your name: '>;> >cin.getline (y_name, MAX_NAME_LEN);> >cout <<>'Enter your City: '>;> >cin.getline (y_address, MAX_ADDRESS_LEN);> >cout <<>'Enter your profession (press $ to complete): '>;> >cin.getline (about_y, MAX_ABOUT_LEN,>'$'>);>//$ is a delimiter> >cout <<>'
Entered details are:
'>;> >cout <<>'Name: '> << y_name << endl;> >cout <<>'Address: '> << y_address << endl;> >cout <<>'Profession is: '> << about_y << endl;> }> |
>
>
Вихід:

Вихід_2-й
Тут зрозуміло, що довжина поля імені була більшою за визначений ліміт, тому програма припиняє виконання та виходить.
1. Синтаксис:
istream& getline (istream& is, string& str);>
2. Друга декларація майже така ж, як і перша. Єдина відмінність полягає в тому, що останні мають символ розмежування, який за замовчуванням є символом нового рядка (
).
Параметри:
- це: Це об’єкт класу istream і повідомляє функції про потік, звідки читати вхідні дані.
- str: Це рядковий об’єкт, вхідні дані зберігаються в цьому об’єкті після зчитування з потоку.
Програма нижче демонструє роботу функції getline().
приклад 1:
CPP
// C++ program to demonstrate getline() function> #include> #include> using> namespace> std;> int> main()> {> >string str;> >cout <<>'Please enter your name:
'>;> >getline(cin, str);> >cout <<>'Hello, '> << str> ><<>' welcome to GfG !
'>;> >return> 0;> }> |
>
>
введення:
Harsh Agarwal>
Вихід:
оператори в програмуванні на Python
Hello, Harsh Agarwal welcome to GfG!>
приклад 2: Ми можемо використовувати функцію getline(), щоб розділити речення на основі символу. Давайте розглянемо приклад, щоб зрозуміти, як це можна зробити.
CPP
// C++ program to understand the use of getline() function> #include> using> namespace> std;> int> main()> {> >string S, T;> >getline(cin, S);> >stringstream X(S);> >while> (getline(X, T,>' '>)) {> >cout << T << endl;> >}> >return> 0;> }> |
>
>
введення:
Hello, Faisal Al Mamun. Welcome to GfG!>
Вихід:
Hello, Faisal Al Mamun. Welcome to GfG!>
Увага: Ця функція розглядає новий рядок або символ (‘
’) як символ розмежування та Символ нового рядка є дійсним введенням для цієї функції.
Нижче наведено приклад того, як новий рядок може спричинити проблему:
приклад:
CPP
// C++ program to demonstrate> // anomaly of delimitation of> // getline() function> #include> #include> using> namespace> std;> int> main()> {> >string name;> >int> id;> >// Taking id as input> >cout <<>'Please enter your id:
'>;> >cin>> id;> >// Takes the empty character as input> >cout <<>'Please enter your name:
'>;> >getline(cin, name);> >// Prints id> >cout <<>'Your id : '> << id <<>'
'>;> >// Prints nothing in name field> >// as '
' is considered a valid string> >cout <<>'Hello, '> << name> ><<>' welcome to GfG !
'>;> >// Again Taking string as input> >getline(cin, name);> >// This actually prints the name> >cout <<>'Hello, '> << name> ><<>' welcome to GfG !
'>;> >return> 0;> }> |
>
>
введення:
7 MOHIT KUMAR>
Вихід:
Your id : 7 Hello, welcome to GfG ! Hello, MOHIT KUMAR welcome to GfG !>
Схожі статті:
- Як використовувати getline() у C++, якщо у вхідних даних є порожні рядки?
- функція getline() і масив символів
Якщо вам подобається techcodeview.com і ви хочете зробити внесок, ви також можете написати статтю за допомогою або надішліть свою статтю на адресу [email protected]
Будь ласка, пишіть коментарі, якщо ви знайшли щось невірне, або ви хочете поділитися додатковою інформацією про тему, розглянуту вище.