【问题标题】:How to get input from cin, which are seperated by colon?如何从cin获取输入,用冒号分隔?
【发布时间】:2015-05-29 19:57:39
【问题描述】:

我正在尝试获取时间输入,例如 12:30:00,即小时:分钟:秒,然后将它们放入结构中。我正在使用 cin,但它仅在我使用空格而不是冒号(如 12 30 00)时才有效。我怎样才能使它与冒号而不是空格一起使用?请尽可能简单,我是新手。

一个例子可以是:

struct time{
    int hour,minute,second;
    long acc_seconds;
}tm;

int main(){
cout <<"Please enter date as HH:MM:SS";
cin >> tm.hour>>tm.minute>>tm.second;
}

【问题讨论】:

标签: c++ time


【解决方案1】:

使用占位符对象将':' 读入。将数字读入正确的对象中。

char dummy;
cout << "Please enter date as HH:MM:SS";
cin >> tm.hour >> dummy >> tm.minute >> dummy >> tm.second;

【讨论】:

    【解决方案2】:

    有时旧的更好

    scanf("%d:%d:%d", &tm.hour, &tm.minute, &tm.second);
    

    【讨论】:

      【解决方案3】:

      您可以将时间存储在String中,然后根据2个冒号的位置将其分为hr,min,sec,然后将其存储为3个整数。

      【讨论】:

        猜你喜欢
        • 2023-03-20
        • 2021-12-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-11
        相关资源
        最近更新 更多