使用特定格式检查字符数组值

Checking char array value with specific format

本文关键字:字符 数组 检查 格式 定格      更新时间:2023-10-16

此部分代码检查字符数组中的特定格式。

char emp_id[10];
    cout<<"Employee IDtt: ";
    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 IDtt: ";
    }


接受的格式是 e<employee ID number> .例如:e3E59。不接受e后的任何信件,如Ege56he77$等。

我设法检查数组中的第一个字母是e还是E上面的代码。然后我不知道如何检查无效格式,例如Ege56h。如果之前有人问过这个问题,请指出我到答案页面,因为我不确定我应该使用什么搜索关键字。请帮助我,提前感谢。

尝试在第一个字符后使用子字符串并转换为 int,如下所示:

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

如果成功,那么好否则失败。