na pierwszy rzut oka nie widac tutaj bledu (ten sizeof(int) wydaje sie troche dziwny... ale zalezy co robisz, tak samo nie wiadomo czym dokladnie jest currentLang i dlaczego rzutujesz...). Ale ogolnie to co robisz to nie jest C++ sposob
w C++ robisz na takiej zasadzie
#include <fstream>
#include <iterator>
#include <algorithm>
int main()
{
std::ifstream input( "C:\\Final.gif", std::ios::binary );
std::ofstream output( "C:\\myfile.gif", std::ios::binary );
std::copy(
std::istreambuf_iterator<char>(input),
std::istreambuf_iterator<char>( ),
std::ostreambuf_iterator<char>(output));
}
a jezeli potrzebujesz to gdzies zapisac (do zmiennej) to polecam std::vector
#include <fstream>
#include <iterator>
#include <vector>
int main()
{
std::ifstream input( "C:\\Final.gif", std::ios::binary );
// copies all data into buffer
std::vector<char> buffer((
std::istreambuf_iterator<char>(input)),
(std::istreambuf_iterator<char>()));
}