Я нахожусь в случае, когда мне дается два формата времени чч: мм: сс для ввода.
Я знаю, что переменные int
извлекаются из cin
до тех пор, пока не будет достигнуто нецелое число. Это означает, что я могу легко извлечь часы, но тогда символ «:» все еще будет в потоке, что вызовет проблему для извлечения минут.
Я знаю, что могу использовать cin.ignore()
, но поскольку мне нужно вводить два формата времени, код только для ввода будет очень длинным и не будет казаться слишком хорошим.
Просто чтобы дать вам представление:
int h,m,s, h2,m2,s2;
cin>>h;
cin.ignore();
cin>>m;
cin.ignore();
cin>>s;
cin>>h2;
cin.ignore();
cin>>m2;
cin.ignore();
cin>>s2;
Я знаю, что cin автоматически игнорирует пробелы. Есть ли способ заставить его автоматически игнорировать определенный символ (в данном случае символ ":")?