2014-10-30 2 views
0

현재 작업하고있는 과제에 대한 팁이 필요합니다. 시간 지정 (n1y n2n n3d n4h n5m n6s - 공백의 양이 다른 입력 사이에서 달라질 수 있음에 유의하십시오)을 초 단위로 변환하는 프로그램을 작성해야합니다. 내가 만들 필요가있는 함수 중 하나는 time spec 입력 (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; 
} 

필자는이를 위해 strpbrk (3) 함수를 사용하는 방법에 대한 몇 가지 아이디어를 가지고,하지만 난의 형식을 확인하는 데 사용할 수있는 또 다른 쉬운 기능이 궁금 해서요 시간 스펙 입력

미리 도움을 주셔서 감사합니다.

답변

0

strtok을 사용하여 문자열을 단어로 분리 한 다음 구문 분석하거나 sscanf를 사용하여 각 단어를 별도로 확인하십시오. 그런 다음 간단한 수학을 시간 사양으로 초 단위로 변환하십시오.

+0

[여기를 읽으십시오.] (http://stackoverflow.com/questions/4588581/which-functions-in-the-c-standard-library-commonly-enc-standard-bad -practice) 먼저'strtok()'을 추천하시기 바랍니다! –