2014-10-30 168 views
0

我需要一些關於我目前正在處理的任務的提示。我需要創建一個程序來轉換時間規格(n1n n2n n3d n4h n5m n6s - 注意不同輸入之間的空白量可能會有所不同)爲秒。我需要創建的一個函數是驗證時間規格輸入的函數(作爲const char *)。該函數頭如下所示:驗證輸入程序C++

// is_legal_time_spec: 
//  Checks if ctime_spec is a valid time spec 
// In: 
//  ctime_spec != NULL 
// Out: 
//  return -- true if the ctime_spec is a valid time spec 
//    false if otherwise 
bool is_legal_time_spec(const char *ctime_spec) { 
    return false; 
} 

Ive有關於如何使用strpbrk(3)功能可實現此的一些想法,但我想知道是否有另一種更簡單的功能,我可以用它來檢查的格式時間規格輸入。

在此先感謝您的幫助。

回答

0

使用strtok將字符串拆分爲單詞,然後通過解析或使用sscanf分別驗證每個單詞。然後做簡單的數學轉換成秒的時間規格

+0

[Read here](http://stackoverflow.com/questions/4588581/which-functions-in-the-c-standard-library-commonly-encourage-bad - 實踐)首先請推薦'strtok()'! – 2014-10-30 23:39:06