Seznamuji se s C++ respektive STL a dost v tom plavu.
Máme soubor pokus.dat a chceme v něm najit sekvenci čtyř bytů 0x58, 0x15, 0x16, 0x33.
A pokud v něm daná sekvence bytl je vypsat offset vyskytu prvního byte dané sekvence.
O kodu níže se domnívám, že by to snad i mohl dělat.
Nicmeně std::distance neumí pracovat s iterátorem res.
První otázka je co s tím?
LPCWSTR szVersionFile = L"pokus.dat";
std::ifstream is(szVersionFile, std::ios::binary);
if (!is)
return -1;
std::array<unsigned char, 4> ebml_id{ 0x58, 0x15, 0x16, 0x33 };
auto res = std::search(std::istream_iterator<char>(is), std::istream_iterator<char>(), ebml_id.begin(), ebml_id.end());
std::cout << "found at offset " << std::distance(ebml_id.begin(), res) << '\n';