我在這種情況下,當我給兩個時間格式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用不同的分隔符作爲空白? –