Я хочу создать пользовательский манипулятор istream
, который считывает 2 символа с ввода, затем пропускает 2 символа с входа и делает это до тех пор, пока не закончится какой-либо вход.Создание настраиваемого манипулятора istream
Например, если у меня есть такой код:
std::string str;
std::cin >> skipchar >> str;
Где skipchar
мой манипулятор, если пользователь вводит 1122334455
, str
должен содержать 113355
.
Это то, что у меня до сих пор, я не знаю, что я должен положить в состоянии в то время как петли, чтобы сделать этот код работать правильно:
istream& skipchar(istream& stream)
{
char c;
while(1)
{
for (int i = 0; i < 2; ++i)
stream >> c;
for (int i = 0; i < 2; ++i)
stream.ignore(1, '\0');
}
return stream;
}
Любая помощь будет оценена.
Спасибо! Этот код прост и делает то, что я хотел! –