我在这种情况下,当我给两个时间格式hh:mm:ss输入。时间格式hh:mm:ss输入
我知道int
变量从cin
转换,直到达到非整数。这意味着我可以很容易地提取小时,但是字符“:”仍然在流中,这会导致提取分钟的问题。
我知道我可以使用cin.ignore()
但由于我必须输入两种时间格式,因此仅用于输入的代码会导致很长时间,看起来不太好。
只给你一个想法:
int h,m,s, h2,m2,s2;
cin>>h;
cin.ignore();
cin>>m;
cin.ignore();
cin>>s;
cin>>h2;
cin.ignore();
cin>>m2;
cin.ignore();
cin>>s2;
我知道,CIN自动忽略空格。有没有办法让它自动忽略一个特定的字符(在这种情况下,字符“:”)?
你是在寻找一个从字符串中读取时间的算法,还是你想自己做?会使用提升问题? – user1810087
http://stackoverflow.com/questions/236129/splitting-a-string-in-c这个例子应该工作:) – Lainezor
@Linezor用不同的分隔符作为空白? –