初めまして。
VC++2008にて作業をしていますが、
CString型の変数に保持されている文字列から特定の文字を検索し、
その文字がいくつあるかを調べるコードを作成したいのですが
どうやって組めばいいのかさっぱりわかりません。
例えば
CString str = "abcdefd"
と保持されているならば、
strの中に"d"が何個あるか検索をかけ、
2個ある事を知りたいのですが。。。
単純にカウントするんじゃだめぇ?
size_t length = str.GetLength();
int found(0);
for (size_t count = 0; count < length; ++count)
{
if (str[count] == _T('d'))
{
++found;
}
}
cout << found; // データを表示
もうひとつ、CStringをつくっていいなら、
Removeで、「対象の文字」を消し、長さを比較する。
もいっちょ、STLに任す。
#include <afxwin.h>
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
CString str = "abcdefd";
cout << count((const char*)str, (const char*)str+str.GetLength(), 'd') << endl;
}
お返事が遅くなり、大変申し訳ありません。
maruさんの回答をヒントに、なんとか組む事ができました!
ryoさん、επιστημηさんもありがとうございました。
今後同じような問題に引っかかった際の参考にさせていただきます!