find in cpp code example

Example 1: c++ findpattern

int CompareByteArray(PBYTE ByteArray1, PCHAR ByteArray2, PCHAR Mask, DWORD Length){    DWORD nextStart = 0;    char start = ByteArray2[0];    for (DWORD i = 0; i < Length; i++)    {        if (Mask[i] == '?')        {            continue;        }        if (ByteArray1[i] == start)        {            nextStart = i;        }        if (ByteArray1[i] != (BYTE)ByteArray2[i])        {            return nextStart;        }    }    return -1;} PBYTE FindSignature(LPVOID BaseAddress, DWORD ImageSize, PCHAR Signature, PCHAR Mask){    PBYTE Address = NULL;    PBYTE Buffer = (PBYTE) BaseAddress;     DWORD Length = strlen(Mask);     for (DWORD i = 0; i < (ImageSize - Length); i++)    {        int result = CompareByteArray((Buffer + i), Signature, Mask, Length);        if (result < 0)        {            Address = (PBYTE)BaseAddress + i;            break;        }        else        {            i += result;        }    }     return Address;}

Example 2: vector.find()

#include <algorithm>
#include <vector>

if ( std::find(vec.begin(), vec.end(), item) != vec.end() )
   do_this();
else
   do_that();

Example 3: c++ string contains

if (string1.find(string2) != std::string::npos) {
    std::cout << "found!" << '\n';
}

Example 4: std string find character c++

// string::find
#include <iostream>       // std::cout
#include <string>         // std::string

int main ()
{
  std::string str ("There are two needles in this haystack with needles.");
  std::string str2 ("needle");

  // different member versions of find in the same order as above:
  std::size_t found = str.find(str2);
  if (found!=std::string::npos)
    std::cout << "first 'needle' found at: " << found << '\n';

  found=str.find("needles are small",found+1,6);
  if (found!=std::string::npos)
    std::cout << "second 'needle' found at: " << found << '\n';

  found=str.find("haystack");
  if (found!=std::string::npos)
    std::cout << "'haystack' also found at: " << found << '\n';

  found=str.find('.');
  if (found!=std::string::npos)
    std::cout << "Period found at: " << found << '\n';

  // let's replace the first needle:
  str.replace(str.find(str2),str2.length(),"preposition");
  std::cout << str << '\n';

  return 0;
}

Tags:

Cpp Example