Я пытаюсь прочитать номер unsigned long
из двоичного файла.
я делаю это таким образом:read unsigned long из двоичного файла
infile.open("file.bin", std::ios::in | std::ios::binary);
char* U=new char[sizeof(unsigned long)];
unsigned long out=0;
infile.read(U, sizeof(unsigned long));
out=static_cast<unsigned long>(*U);
delete[] U;
U=NULL;
infile.close();
, но результат не является правильным.
Мои данные 6A F2 6B 58 00 00 00 00
ведьмой следует читать как 1483469418
но вне есть 106
в моем коде, который только первый байт данных
В чем проблема?
как я должен правильно прочитать unsigned long
из файла?
Какой формат младшему вы ожидаете, и какой формат вы используете? Это очень важно знать при работе с многобайтовыми целочисленными значениями. – tadman
Вы просто забрасываете первый байт в unsigned long. Кроме того, метод не переносится в любом случае из-за конечной цели. –
@tadman: как файл, так и система LE – RYN