如何从用冒号分隔的cin中获取输入?
How to get input from cin, which are seperated by colon?
我正在尝试获取像 12:30:00 这样的时间输入,即 hour:minute:second,然后将它们放入一个结构中。我正在使用 cin,但它仅在我使用 space 而不是像 12 30 00 这样的冒号时才起作用。我怎样才能让它与冒号一起工作而不是 space?请尽可能简单,我是新手。
例如:
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;
}
你可以把时间存入String
,然后根据2个冒号的位置把它分成时、分、秒,然后存入3个整数。
使用占位符对象将 ':'
读入。将数字读入正确的对象中。
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);
我正在尝试获取像 12:30:00 这样的时间输入,即 hour:minute:second,然后将它们放入一个结构中。我正在使用 cin,但它仅在我使用 space 而不是像 12 30 00 这样的冒号时才起作用。我怎样才能让它与冒号一起工作而不是 space?请尽可能简单,我是新手。
例如:
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;
}
你可以把时间存入String
,然后根据2个冒号的位置把它分成时、分、秒,然后存入3个整数。
使用占位符对象将 ':'
读入。将数字读入正确的对象中。
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);