まず、この問題の解決策は非常に効率的である必要があります。
私の問題は、2 つAPT_String
の s (DataStage タイプ) の特定の部分を比較する必要があることです。つまり、文字列は、"Brown Marrow" などの空白文字を含む姓です。ただし、名前は 30 バイトのフィールドにあり、残りのスペースはスペース文字で埋められています。
簡単に言うと、2 つの連続したスペース文字の最初のインスタンスを見つける必要があります (有用な姓の終わりを知らせるため)。私の解決策は
bool foundit = false;
for (int ind = 0; ind<=q_array[i].LAST_NAME.length() && !foundit; ind++) {
if (q_array[i].LAST_NAME[ind] == ' ' && q_array[i].LAST_NAME[ind+1] == ' ') {
cout<<"two spaces in a row at char " << ind << endl;
foundit = true;
}
}
残念ながら、APT_String には find() がないようです。これを行うためのより良い、またはより効率的な方法はありますか?