C++ で MFC プロジェクトを作成しています。ユーザーが数値を入力するテキストフィールドがあります。英語キーボードを使用すると、整数に変換できます。しかし、ユーザーが日本語キーボードに切り替えると、機能しません。
日本語キーボードが 2 バイト文字を作成することは知っています。しかし、それらを整数に変換する方法がわかりません。
情報不足ですみません。
私の意図は、テキストフィールドに入力されたユーザーが数字であるかどうかを確認することです。ただし、日本語キーボードでは番号を認識しません。strtol()、_wtoi など、いくつかの方法を試しました。しかし、結果 (頻度) は常に 0 です。デバッグ時に取得した文字列は、123456789 ではなく 123456789 です。これが私のコードです。
CString strFrequency;
GetDlgItem(IDC_EDIT_FREQUENCY)->GetWindowText(strFrequency);
if(strFrequency.IsEmpty()){
CDialog::OnOK();
return;
}
for(int i=1; i<strFrequency.GetLength(); i+=2) {
if(!std::isdigit(strFrequency[i])){
MessageBox("数字で入力してください。","発表支援");
return;
}
}
int frequency = atoi(strFrequency);
誰もが私を助けることができますか?
前もって感謝します