【GUI】wxWidgets(旧wxWindows) その5【サイザー】 (960レス)
上下前次1-新
抽出解除 レス栞
404(2): 2012/01/22(日)22:48 AAS
wxWidgets2.9.3を使用しています。
下記リンクを参考にしました。
http://docs.wxwidgets.org/trunk/classwx_string.html#a55b90a900c24e9555760265170dc051c
文字列の中に特定の文字が複数回出た場合の検索を行いたいです。
.find()この中に、aとか、txtとか入れると、最初の桁数だけ検索できます。
たとえば、[t]と入力すると、文字列の中に4回でてきますが、一個目のものしか検索されません。
また、[猫]や[犬]などを入力すると、ループの処理に入らずすぐに終了します。
[あ] を入力すると、1回ループ処理に入っているますが、検索結果に0が帰ってきます。
コードは以下のようになっています。
//wxString gpath C:\Users\x\Desktop\practice\猫犬象aAbB猫猫猫犬犬あいう.txt
wxString bb,cc,dd;
size_t pos=0;
if((pos=::gpath.find(("猫"),pos))!= wxString::npos)
{
wxMessageBox(_T("ループ 処理開始"));
pos = ::gpath.find("猫",pos);
cc.Printf(_T("%d"),pos);
dd += cc;
dd += "\n";
pos + 1;
wxMessageBox(_T("ループ 判定処理に戻る"));
}
readpos -> SetValue(dd);
wxMessageBox(_T("終了"));
文法?など、何が間違っているか教えてください。
405: 2012/01/22(日)23:59 AAS
>>404
wxString gpath = L"C:\\Users\\x\\Desktop\\practice\\猫犬象aAbB猫猫猫犬犬あいう.txt";
wxString word = L"猫";
wxString result;
size_t pos = 0;
wxMessageBox(_T("ループ 処理開始"));
while ((pos = gpath.find(word, pos)) != wxString::npos) {
result += wxString::Format(L"%d\n", pos);
pos += word.size();
wxMessageBox(_T("ループ 判定処理に戻る"));
}
OutputDebugStringW(result.c_str());
pos + 1はpos += 1のタイポだと好意的に解釈するにせよ、それでも
「何故1なのか」が理解できてないのはちょっとまずい。
ifとwhileの区別が付いてないのもかなり厳しい。
charとwchar_tの違いについてとか、
1. (pos = gpath.find(word, pos)) != wxString::npos
2. pos = gpath.find(word, pos) != wxString::npos
は全く意味が違う、とか。
wxWidgets以前に、まず基本的な文法を押さえることから始めた方がいいと思う。
406: 2012/01/23(月)01:28 AAS
>>404
レスありがとうございます。
>>ifとwhileの区別が付いてないのもかなり厳しい。
理由がわからないので、whileとifを書き直してテストしてました。
これは、コピペを修正するのを忘れていました。
ただ、最初はforで試したのですが、まったくだめでwhileやifなどを試してみました。
ただ理解してないのは間違いないです。
>>pos + 1はpos += 1のタイポだと好意的に解釈するにせよ
検索後、ひとつ右の文字から再度検索したかったので +1 にしたのでタイプミスではありませんでした。
+=でないとだめとのことなので、考え方が間違っているのですね。
見直します。
>>charとwchar_tの違いについてとか、
charがabとか半角文字で、wcar_tが2バイト文字が許されると漠然と認識しています。
ユニコードビルドなので、wxStringを使用した場合すべて2バイト文字が許されると認識していましたが、
なんか違うようですね。
wxString word = L"猫”;
wxString::Format
など、知らないものがでてきたので、これも調べます。
ありがとうございました。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.026s