[c++] 날짜와 시간에 대한 입력 유효성 검사

문자열을 파싱하여 유효성 검사하기

C++에서는 문자열을 파싱하여 날짜와 시간 형식을 분석하는 방법을 사용할 수 있습니다. 예를 들어, 정규 표현식을 사용하여 날짜와 시간을 포함하는 문자열을 검사할 수 있습니다.

#include <iostream>
#include <regex>
#include <string>

bool isValidDateTime(const std::string& dateTimeStr) {
    std::regex dateTimeRegex("\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}");
    return std::regex_match(dateTimeStr, dateTimeRegex);
}

int main() {
    std::string input;
    std::cout << "Enter date and time (YYYY-MM-DD HH:MM:SS): ";
    std::getline(std::cin, input);

    if (isValidDateTime(input)) {
        std::cout << "Valid date and time format\n";
    } else {
        std::cout << "Invalid date and time format\n";
    }

    return 0;
}

이 예제에서는 std::regex를 사용하여 입력된 문자열이 “YYYY-MM-DD HH:MM:SS” 형식인지 확인합니다.

외부 라이브러리를 활용하여 유효성 검사하기

C++은 Boost 라이브러리와 같은 외부 라이브러리를 사용하여 날짜와 시간 형식을 보다 쉽게 유효성 검사할 수도 있습니다. Boost.DateTime 라이브러리를 이용하면 다양한 형식의 날짜와 시간을 검사하고 파싱할 수 있습니다.

사용자 정의 함수로 유효성 검사하기

또는 사용자 정의 함수를 작성하여 입력 값이 특정 범위 내에 있는지 확인할 수도 있습니다.

날짜와 시간에 대한 유효성 검사는 입력 데이터의 신뢰성을 보장하기 위해 중요합니다. 따라서 적절한 방법을 사용하여 사용자가 올바른 형식의 데이터를 입력하도록 유도해야 합니다.

참고 문헌

당신에게 도움이 되셨기를 바랍니다!