Преобразуйте этот код C++ в c.
Преобразуйте этот код c++ в c.
bool inline DataCompare(const BYTE* pbData, const BYTE* pbMask, const char* pszMask) { for (; *pszMask; ++pszMask, ++pbData, ++pbMask) { if (*pszMask == 'c' && *pbData != *pbMask) { return false; } } return (*pszMask == NULL); } DWORD inline FindPattern(DWORD dwStart, DWORD dwSize, const BYTE* szSig, const char* szMask) { PBYTE data = new BYTE[dwSize]; unsigned long bytesRead; if (!ReadProcessMemory(process, (LPVOID)dwStart, data, dwSize, &bytesRead)) { delete[] data; data = nullptr; return NULL; } for (DWORD i = 0; i < dwSize; i++) { if (DataCompare((const BYTE*)(data + i), szSig, szMask)) { delete[] data; data = nullptr; return dwStart + i; } } delete[] data; data = nullptr; return NULL; }
Если вы можете помочь, я буду вам очень признателен.
Что я уже пробовал:
Попробовал код, получил несколько ошибок. Ссылка [^]
jeron1
Уже выглядит довольно c-like, помимо операторов new и delete, возможно, посмотрите здесь для выделения и освобождения памяти массива c-использование динамического выделения памяти для массивов[^]