Не могли бы вы попытаться немного подправить этот код (одна дополнительная строка):
bool ReadFile(const string& path, string& file_data)
{
ifstream ifs(path.c_str(), ifstream::in | ifstream::ate);
if (!ifs) return false;
int size = ifs.tellg();
if (size==0) return false;
ifs.seekg(0, ios::beg);
file_data.reserve(size);
file_data.assign((istreambuf_iterator<char>(ifs)),
istreambuf_iterator<char>());
return true;
}
и выполнить измерение снова
Во второй попытке вы можете попробовать это:
bool ReadFile(const string& path, string& file_data)
{
ifstream ifs(path.c_str(), ifstream::in | ifstream::ate);
if (!ifs) return false;
int size = ifs.tellg();
if (size==0) return false;
ifs.seekg(0, ios::beg);
file_data.resize(size);
return ifs.read(&file_data[0], size);
}