Вобщем мне надо считать большой бинарник и единственное, что мне о нем известно, - это что значения в него записаны одно за другим без пробелов, по два байта на число.
Считать надо в массив естественно.
Вопрос заключается в следующем. Есть вот такой страшенный цикл
Код: Выделить всё
for(int i=0; i<sAr; ++i)
{
readf.read((char*)&a[i],2);
}Как я понимаю, описание функции считывания в буфер выглядит так: read(buff,buff_size); - где buff - это собственно буфер, в который идет чтение, а buff_size - размер буфера в байтах. То есть 2-ка после запятой в коде подразумевает, что в буфер больше 2-ух байт не влезет и чтение в каждый элемент массива происходит по 2 байта. Массив определен как int (целочисленный, это тоже известно). Дак вот вапрос в следующем: правильно ли я думаю: выполняется сия операция? (просто достало уже, там на числа не по два байта получаются, ибо они бредовые) Если нет, то подскажите плиз, в чем загвоздка.
Предвижу, что возможно проблема в (char*)& передачи типа.
Вобщем как мог сформулировал проблему...
i Уведомление от модератора Aectann Большая просьба стараться писать грамотно, расставлять знаки препинания. Если не умеет, используйте встроенную в браузер проверку орфографии.