std :: basic_istream :: ignore в C ++ с примерами

Опубликовано: 29 Декабря, 2021

Std :: basic_istream :: ignore используется для извлечения символов из входной строки и отбрасывания их, включая символ-разделитель, то есть, если достигнут конец файла, эта функция прекращает извлечение символов. Символ-разделитель - это символ новой строки, то есть ' n' . Эта функция также остановит извлечение символов, если будет достигнут конец файла, если ввод осуществляется с использованием файла. Эта функция обращается к входной последовательности, сначала конструируя сторожевой объект. Он извлекает символы из связанного с ним объекта буфера потока и уничтожает объект-часовой перед возвратом.

Заголовочный файл:

#include <iostream>

Синтаксис:

istream & ignore (размер N,
            int delim = EOF);

Параметры: принимает следующие параметры:

  • N: представляет максимальное количество символов для извлечения.
  • delim: используется для остановки извлечения.

Возвращаемое значение: возвращает объект basic_istream.

Ниже приведены программы для демонстрации basic_istream :: ignore () :

Программа 1:

// C++ program to demonstrate
// basic_istream::ignore
#include <bits/stdc++.h>
using namespace std;
// Driver Code
int main()
{
// Input String
istringstream input(
"12 "
"It is a string "
"14 " );
for (;;) {
int n;
// Taking input streamed string
input >> n;
// Check for end of file or if
// any bad bit occurs
if (input.eof() || input.bad()) {
break ;
}
// If any failbit occurs
else if (input.fail()) {
// Clear the input
input.clear();
// Use ignore to stream the given
// input as per delimeter ' '
input.ignore(
numeric_limits<streamsize>::max(),
' ' );
}
// Else print the integer in
// the string
else {
cout << n << ' ' ;
}
}
return 0;
}
Выход:
12
14

Программа 2:

// C++ program to demonstrate
// basic_istream::ignore
#include <bits/stdc++.h>
using namespace std;
// Driver Code
int main()
{
char first, last;
cout << "Enter a String: " ;
// Get one character
first = cin.get();
// Ignore string untill space occurs
cin.ignore(256, ' ' );
// Get one character
last = std::cin.get();
cout << "Your initials are "
<< first << ' '
<< last << ' ' ;
return 0;
}

Выход:

Ссылка: http://www.cplusplus.com/reference/istream/basic_istream/ignore/

Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .
C++