Мне было интересно, есть ли собственная функция C++ (или STL / Boost), которая будет искать CString для указанной строки?
например
CString strIn = "Test number 1";
CString strQuery = "num";
bool fRet = SomeFn(strIn, StrQuery);
if ( fRet == true )
{
// Ok strQuery was found in strIn
...
Я нашел небольшое количество функций, таких как CompareNoCase IndexOf и т.д., но пока они действительно не делают то, что я хочу, чтобы они делали (или используют CLR / .Net)
Спасибо!
Я действительно ошеломлен тем фактом, что вы не просто искали очевидные имена функций «find» или «search» в CString или std :: string.





Вы пробовали CString :: Найти?
Это не STL или boost, но поскольку у вас есть два CString, это кажется наиболее разумным методом для использования.
CString :: Найти () - это то, что вы хотите, одна из перегрузок выполняет поиск подстроки.
CString strIn = "test number 1";
int index = strIn.Find("num");
if (index != -1)
// ok, found
Имейте в виду, что
CStringна самом деле не является стандартным классом в стандарте C++.