如何从用冒号分隔的cin中获取输入

How to get input from cin, which are seperated by colon?

本文关键字:cin 获取 输入 分隔      更新时间:2023-10-16

我正在尝试获得时间输入,如12:30:00,即小时:分钟:秒,然后将它们放入结构中。我使用cin,但它只在我使用空格而不是像12300这样的冒号时有效。如何使用冒号而不是空格?请尽可能放松,我对此很陌生。

例如:

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;
}

使用占位符对象读取':'。把数字读到正确的物体上。

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

有时旧的更好

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

您可以将时间存储在String中,然后根据2个冒号的位置将其划分为小时、分钟、秒,然后将其存储在3个整数中。