2012-12-09 2 views
0

이 부분 코드는 문자 배열의 특정 형식을 검사합니다.특정 형식의 문자 배열 값 확인

char emp_id[10]; 

    cout<<"Employee ID\t\t: "; 

    while(cin.getline(emp_id,10)) { 
     if (emp_id[0] == 'e' || emp_id[0] == 'E'){ 
      break; 
     } 
     std::cout << "Input error. Invalid employee ID format." << std::endl; 
     cout<<"\nEmployee ID\t\t: "; 
    } 


허용되는 형식은 e<employee ID number>입니다. 예 : e3 또는 E59. e 뒤의 글자는 허용되지 않습니다 같은 Eg, e56h, e77$ 등 등

내가 배열의 첫 번째 문자가 e 또는 위의 코드와 E 여부를 확인하기 위해 관리

. 그런 다음 Eg 또는 e56h과 같은 잘못된 형식을 확인하는 방법을 알지 못했습니다. 이전에이 질문에 답을 얻지 못했다면 어떤 검색 키워드를 사용해야하는지 잘 모르기 때문에 대답 페이지로 연결해주십시오. 도와 주시고 미리 감사드립니다.

답변

1

시도 첫번째 문자 후 문자열을 사용하여 다음과 같이 INT로 변환 :

int myNum = atoi(emp_id.substr(1, emp_id.length()).c_str()); 

성공 후 좋은 경우, 그렇지 않으면 실패.