Work with 6 byte integer

Task: Work with 6 byte integer

How do it do better? My solution:

//Visual Studio 2015 C++
unsigned long long num;
std::vector<unsigned char> buf;
DWORD BytesRead = 0;
buf.resize(6);
HANDLE hFile = CreateFile("test.txt",GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
ReadFile(hFile, (LPVOID)buf.data(), 6, &BytesRead, NULL);
num = (num << 8);
num = (num << 8);
num = (num << 8) + buf[0];
num = (num << 8) + buf[1];
num = (num << 8) + buf[2];
num = (num << 8) + buf[3];
num = (num << 8) + buf[4];
num = (num << 8) + buf[5];

Do you have any other ideas?