0

この部分的なコードは、char 配列の特定の形式をチェックします。

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は受け付けません。Ege56he77$

配列の最初の文字がeまたはE上記のコードであるかどうかを確認することができました。Eg次に、またはなどの無効な形式をチェックする方法がわかりませんでしたe56h。以前にこの質問をしたことがある場合は、どの検索キーワードを使用すればよいかわからないため、回答ページを参照してください。私を助けてください、そして前もって感謝します。

4

1 に答える 1

1

最初の文字の後に部分文字列を使用し、以下のように int に変換してみてください。

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

成功した場合は良い、そうでない場合は失敗します。

于 2012-12-09T20:10:02.020 に答える