C ++用户输入的字符串必须是DD-MM-YYYY格式

时间:2017-10-19 23:46:21

标签: c++ date

我对C ++很新,我的教授给了我们一个作业,其中一部分是以下指令:

要求用户以此格式输入日期: dd-mm-yyyy。 检查用户的输入是否正确 - 长度必须为10个字符,第3个和第5个字符必须为短划线,所有其他字符必须为0到9之间的数字。如果发现单个错误,请打印消息并询问一个新的条目。

这是我到目前为止的代码。就我而言。 我不知道如何检查字符串中特定位置的“破折号”字符串。我不需要为我编写解决方案,任何文档或示例都可以。我搜索了谷歌和stackoverflow的答案,但我找到的只是PHP或C#答案。

#include "stdafx.h"
#include <iostream>
#include <sstream>

using namespace std;


int main()
{
    const int datelength = 10;
    string date;

    cout << "Enter a date using the DD-MM-YYYY format: ";
    cin >> date;

    if (date.size() > datelength) {

        cout << "\n\nYour entry must be 10-char long. Hit any key to continue..." << endl << endl;

    }


    return 0;
}

1 个答案:

答案 0 :(得分:1)

你可以索引到string来访问各个字符,所以如果我想查看字符串的第一个字符是否是J,我可以这样做:

std::string input;
std::getline(std::cin, input);

if (input[0] == 'J')
    std::cout << "It's a J";