c++ find 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: find character in string c++
auto char_to_find = 'a'
if (str.find(char_to_find) != std::string::npos) {
}
Example 3: c++ string contains
if (string1.find(string2) != std::string::npos) {
std::cout << "found!" << '\n';
}
Example 4: c++ find element in vector
auto it = find(vec.begin(),vec,end(), item)!
if(it != vec.end()){
int index = it - vec.begin();
}
Example 5: std string find character c++
#include <iostream>
#include <string>
int main ()
{
std::string str ("There are two needles in this haystack with needles.");
std::string str2 ("needle");
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';
str.replace(str.find(str2),str2.length(),"preposition");
std::cout << str << '\n';
return 0;
}