Пользователь вводит дату в формате 01/02/17, нужно сохранить дату в трёх переменных int соответственно-daymonthyear. Я разбивал строку с датой на 3 подстроки и переводил в каждую в int. Мне кажется-не самый лучший способ. Есть ли како-то более удачное решение для такой обработки?
Ответ
Можно и удобно регэкспами:
#include
std::vector
int main() {
try {
std::vector
Естественно, при желании, можно дополнить проверку корректности дней, месяцев и годов. В коде - простейшая проверка просто на числа.
ADD:
Если не нравится возврат вектора, в качестве результата, небольшая модификация кода, но для C++1z
#include
std::tuple
int main() {
try {
auto [d,m,y] = GetDigitDate("1/07/2011");
std::cout << "d: " << d << " m: " << m << " y: " << y << std::endl;
} catch(...) {
std::cout << "Что-то не так!" << std::endl;
}
return 0;
}
Комментариев нет:
Отправить комментарий